*** postgresql-6.5.3/src/backend/access/rtree/rtree.c.orig Mon Aug 2 14:24:44 1999 --- postgresql-6.5.3/src/backend/access/rtree/rtree.c Mon Dec 27 16:58:57 1999 *************** *** 843,849 **** pfree(datum_r); pfree(union_dl); datum_r = union_dr; ! size_r = size_alpha; *right++ = i; v->spl_nright++; } --- 843,849 ---- pfree(datum_r); pfree(union_dl); datum_r = union_dr; ! size_r = size_beta; *right++ = i; v->spl_nright++; } *** postgresql-6.5.3/src/backend/storage/lmgr/lock.c.orig Sat May 29 15:14:42 1999 --- postgresql-6.5.3/src/backend/storage/lmgr/lock.c Mon Dec 27 16:58:57 1999 *************** *** 940,946 **** { PROC_QUEUE *waitQueue = &(lock->waitProcs); LOCKMETHODTABLE *lockMethodTable = LockMethodTable[lockmethod]; ! char old_status[64], new_status[64]; Assert(lockmethod < NumLockMethods); --- 940,946 ---- { PROC_QUEUE *waitQueue = &(lock->waitProcs); LOCKMETHODTABLE *lockMethodTable = LockMethodTable[lockmethod]; ! static char old_status[64], new_status[64]; Assert(lockmethod < NumLockMethods); *** postgresql-6.5.3/src/backend/utils/init/postinit.c.orig Mon Aug 2 14:25:10 1999 --- postgresql-6.5.3/src/backend/utils/init/postinit.c Mon Dec 27 16:58:57 1999 *************** *** 572,577 **** --- 572,581 ---- */ InitCatalogCache(); + /* start a new transaction here before access to db */ + if (!bootstrap) + StartTransactionCommand(); + /* ---------------- * set ourselves to the proper user id and figure out our postgres * user id. If we ever add security so that we check for valid *** postgresql-6.5.3/src/interfaces/ecpg/lib/ecpglib.c.orig Thu Jul 8 12:32:57 1999 --- postgresql-6.5.3/src/interfaces/ecpg/lib/ecpglib.c Mon Dec 27 16:58:57 1999 *************** *** 228,235 **** --- 228,238 ---- switch (arg[i]) { case '\'': + res[ri++] = '\''; + break; case '\\': res[ri++] = '\\'; + break; default: ; } *************** *** 365,371 **** bool string = false; for (; *ptr != '\0' && (*ptr != '?' || string); ptr++) ! if (*ptr == '\'') string = string ? false : true; return (*ptr == '\0') ? NULL : ptr; --- 368,374 ---- bool string = false; for (; *ptr != '\0' && (*ptr != '?' || string); ptr++) ! if (*ptr == '\'' && *(ptr-1) != '\\') string = string ? false : true; return (*ptr == '\0') ? NULL : ptr; *************** *** 379,384 **** --- 382,388 ---- PGresult *results; PGnotify *notify; struct variable *var; + int hostvarl = 0; memcpy((char *) &sqlca, (char *) &sqlca_init, sizeof(sqlca)); *************** *** 569,575 **** return false; strcpy(newcopy, copiedquery); ! if ((p = next_insert(newcopy)) == NULL) { /* --- 573,579 ---- return false; strcpy(newcopy, copiedquery); ! if ((p = next_insert(newcopy+hostvarl)) == NULL) { /* *************** *** 582,587 **** --- 586,592 ---- else { strcpy(p, tobeinserted); + hostvarl = strlen(newcopy); /* * The strange thing in the second argument is the rest of the *************** *** 1227,1232 **** --- 1232,1238 ---- { struct connection *con; + memcpy((char *) &sqlca, (char *) &sqlca_init, sizeof(sqlca)); if (strcmp(connection_name, "ALL") == 0) { for (con = all_connections; con;)