Skip to Content.
Sympa Menu

freetds - Re: [freetds] 0.91RC1

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Konrad J Hambrick <konrad AT payplus.com>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] 0.91RC1
  • Date: Sun, 10 Apr 2011 06:36:04 -0500


James / Freddy / Bill --

I hope I am not too late ...

I submitted a patch long ago against version 0.64
to fix those Hints that require info in addition
to the hint keyword itself( ORDER, ROWS_PER_BATCH
and KILOBYTES_PER_BATCH ) ...

Anyhow, the fix seems to have gotten lost somewhere ...

See attached patch against src/dblibs/bcp.c:

src-dblib-bcp.c-diff-u-kjh.patch

I also found it useful (and more secure ps-wise) to
avoid setting the HostName / UserName / PassWord on
the commandline.

freebcp.c already looks for a environment varb: FREEBCP
so I added code to src/apps/freebcp.c to use FREEBCPHOST,
FREEBCPUSER and FREEBCPPASS from the user's environment
instead of from the commandline.

See attached src-apps-freebcp.c-diff-u-kjh.patch ...

Thanks for FreeTDS !

-- kjh


James K. Lowden wrote, On 04/09/2011 03:33 PM:
http://www.ibiblio.org/pub/Linux/ALPHA/freetds/stable/release_candidates/freetds-0.91rc1.tgz

FreeTDS proudly, and with great relief, announces the first release
candidate for its next version, 0.91. It will supersede the current
version, 0.82, released in May 2008.

The jump in release numbers represents three years' progress. We issue
releases infrequently to minimize users' administrative overhead. But
the time has truly arrived to raise the flag and tell everyone to
upgrade.

Please give it a whirl.

As a member of this mailing list, your feedback is invaluable both to
the developers and to the larger FreeTDS community. (That community
very likely numbers in the tens of thousands, btw.) Any problems you
discover with a release candidate is one that can be avoided in the
actual release. This is your chance to make a difference.

In particular, we need to know about things we devlopers don't deal with
ourselves, i.e.:

1. Proprietary OSes, big iron and small.
2. Other language bindings, from DBI to PHP and beyond.
3. Behavior changes versus 0.82 that necessitate administrative or
programming changes.

Notable new features, in reverse chronological order:

1. Full Kerberos and SSPI support for passwordless login to
Microsoft SQL Server from Unix and Windows clients. Includes Keberos
delegation option.

2. Full support for DB-Library under Win32/64 via NMAKE.EXE.

3. Built-in support for UTF-8.

4. Support for wide characters in ODBC.

5. Support for varchar(max) and varbinary(max).

6. Better thread-safety in ODBC.

7. Error messages distinguish between connect and login errors.

8. Bulk-copy functions in CT-Library.

9. Correct handling of query timeouts and cancellations.

Your humble maintainer,

--jkl


_______________________________________________
FreeTDS mailing list
FreeTDS AT lists.ibiblio.org
http://lists.ibiblio.org/mailman/listinfo/freetds

--- bcp-orig.c 2011-04-07 03:06:37.000000000 -0500
+++ bcp.c 2011-04-10 05:37:58.003757923 -0500
@@ -627,7 +627,13 @@
{
int i;
static const char *const hints[] = {
- "ORDER", "ROWS_PER_BATCH", "KILOBYTES_PER_BATCH", "TABLOCK",
"CHECK_CONSTRAINTS", "FIRE_TRIGGERS", NULL
+ "ORDER", /* needs value not hints[] */
+ "ROWS_PER_BATCH", /* needs value not hints[] */
+ "KILOBYTES_PER_BATCH", /* needs value not hints[] */
+ "TABLOCK", /* hints[] OK */
+ "CHECK_CONSTRAINTS", /* hints[] OK */
+ "FIRE_TRIGGERS", /* hints[] OK */
+ NULL
};

tdsdump_log(TDS_DBG_FUNC, "bcp_options(%p, %d, %p, %d)\n", dbproc,
option, value, valuelen);
@@ -646,11 +652,11 @@

for (i = 0; hints[i]; i++) { /* look up hint */
if (strncasecmp((char *) value, hints[i],
strlen(hints[i])) == 0) {
- dbproc->bcpinfo->hint = hints[i]; /*
safe: hints[i] is static constant, above */
+ dbproc->bcpinfo->hint = value; /*
need value not hints[] */
return SUCCEED;
}
}
- tdsdump_log(TDS_DBG_FUNC, "failed, no such hint\n");
+ tdsdump_log(TDS_DBG_FUNC, "failed, no such hint: \"%s\"\n",
(char *) value);
break;
default:
tdsdump_log(TDS_DBG_FUNC, "UNIMPLEMENTED bcp option: %u\n",
option);
--- freebcp-orig.c 2011-04-07 03:06:37.000000000 -0500
+++ freebcp.c 2011-04-10 06:01:31.466265881 -0500
@@ -167,7 +167,28 @@

int ch;

- if (argc < 6) {
+ char * p = NULL ;
+ int MinArg = 6 ;
+
+ if (( p = getenv( "FREEBCPHOST" )) != (char *) NULL )
+ {
+ pdata->Sflag++;
+ pdata->server = strdup( p );
+ MinArg -- ;
+ }
+ if (( p = getenv( "FREEBCPUSER" )) != (char *) NULL )
+ {
+ pdata->Uflag++ ;
+ pdata->user = strdup( p ) ;
+ MinArg -- ;
+ }
+ if (( p = getenv( "FREEBCPPASS" )) != (char *) NULL )
+ {
+ pdata->Pflag++;
+ pdata->pass = strdup( p );
+ MinArg -- ;
+ }
+ if ( argc < MinArg ) {
pusage();
return (FALSE);
}



Archive powered by MHonArc 2.6.24.

Top of Page