More ODBC formatting cleanup.

This commit is contained in:
Bruce Momjian 2001-02-10 07:11:28 +00:00
parent 08265ef9c2
commit 5ad627479c
21 changed files with 145 additions and 363 deletions

View File

@ -192,7 +192,6 @@ SQLBindCol(
/* If the bookmark column is being bound, then just save it */
if (icol == 0)
{
if (rgbValue == NULL)
{
stmt->bookmark.buffer = NULL;
@ -382,10 +381,8 @@ SQLNumParams(
}
else
{
for (i = 0; i < strlen(stmt->statement); i++)
{
if (stmt->statement[i] == '?' && !in_quote)
(*pcpar)++;
else
@ -436,7 +433,6 @@ extend_bindings(StatementClass * stmt, int num_columns)
/* entries into the new structure */
if (stmt->bindings_allocated < num_columns)
{
new_bindings = create_empty_bindings(num_columns);
if (!new_bindings)
{
@ -461,7 +457,6 @@ extend_bindings(StatementClass * stmt, int num_columns)
stmt->bindings = new_bindings;
stmt->bindings_allocated = num_columns;
}
/* There is no reason to zero out extra bindings if there are */
/* more than needed. If an app has allocated extra bindings, */

View File

@ -77,7 +77,6 @@ CI_read_fields(ColumnInfoClass * self, ConnectionClass * conn)
/* now read in the descriptions */
for (lf = 0; lf < new_num_fields; lf++)
{
SOCK_get_string(sock, new_field_name, MAX_MESSAGE_LEN);
new_adtid = (Oid) SOCK_get_int(sock, 4);
new_adtsize = (Int2) SOCK_get_int(sock, 2);
@ -85,7 +84,6 @@ CI_read_fields(ColumnInfoClass * self, ConnectionClass * conn)
/* If 6.4 protocol, then read the atttypmod field */
if (PG_VERSION_GE(conn, 6.4))
{
mylog("READING ATTTYPMOD\n");
new_atttypmod = (Int4) SOCK_get_int(sock, 4);
@ -93,7 +91,6 @@ CI_read_fields(ColumnInfoClass * self, ConnectionClass * conn)
new_atttypmod -= 4;
if (new_atttypmod < 0)
new_atttypmod = -1;
}
mylog("CI_read_fields: fieldname='%s', adtid=%d, adtsize=%d, atttypmod=%d\n", new_field_name, new_adtid, new_adtsize, new_atttypmod);
@ -146,7 +143,6 @@ void
CI_set_field_info(ColumnInfoClass * self, int field_num, char *new_name,
Oid new_adtid, Int2 new_adtsize, Int4 new_atttypmod)
{
/* check bounds */
if ((field_num < 0) || (field_num >= self->num_fields))
return;

View File

@ -239,7 +239,6 @@ CC_Constructor()
if (rv != NULL)
{
rv->henv = NULL; /* not yet associated with an environment */
rv->errormsg = NULL;
@ -280,7 +279,6 @@ CC_Constructor()
/* Statements under this conn will inherit these options */
InitializeStatementOptions(&rv->stmtOptions);
}
return rv;
}
@ -289,7 +287,6 @@ CC_Constructor()
char
CC_Destructor(ConnectionClass * self)
{
mylog("enter CC_Destructor, self=%u\n", self);
if (self->status == CONN_EXECUTING)
@ -380,7 +377,6 @@ CC_abort(ConnectionClass * self)
QR_Destructor(res);
else
return FALSE;
}
return TRUE;
@ -499,12 +495,10 @@ CC_connect(ConnectionClass * self, char do_password)
mylog("%s: entering...\n", func);
if (do_password)
sock = self->sock; /* already connected, just authenticate */
else
{
qlog("Global Options: Version='%s', fetch=%d, socket=%d, unknown_sizes=%d, max_varchar_size=%d, max_longvarchar_size=%d\n",
POSTGRESDRIVERVERSION,
globals.fetch_max,
@ -606,7 +600,6 @@ CC_connect(ConnectionClass * self, char do_password)
do
{
if (do_password)
beresp = 'R';
else
@ -690,7 +683,6 @@ CC_connect(ConnectionClass * self, char do_password)
self->errornumber = CONN_INVALID_AUTHENTICATION;
return 0;
}
} while (areq != AUTH_REQ_OK);
CC_clear_error(self); /* clear any password error */
@ -738,7 +730,6 @@ CC_connect(ConnectionClass * self, char do_password)
mylog("%s: returning...\n", func);
return 1;
}
char
@ -955,7 +946,6 @@ CC_send_query(ConnectionClass * self, char *query, QueryInfo * qi)
}
else
{
char clear = 0;
mylog("send_query: ok - 'C' - %s\n", cmdbuffer);
@ -1187,7 +1177,6 @@ CC_send_function(ConnectionClass * self, int fnid, void *result_buf, int *actual
for (i = 0; i < nargs; ++i)
{
mylog(" arg[%d]: len = %d, isint = %d, integer = %d, ptr = %u\n", i, args[i].len, args[i].isint, args[i].u.integer, args[i].u.ptr);
SOCK_put_int(sock, args[i].len, 4);
@ -1343,7 +1332,6 @@ CC_send_settings(ConnectionClass * self)
status = FALSE;
mylog("%s: result %d, status %d from set geqo\n", func, result, status);
}
/* KSQO */
@ -1354,7 +1342,6 @@ CC_send_settings(ConnectionClass * self)
status = FALSE;
mylog("%s: result %d, status %d from set ksqo\n", func, result, status);
}
/* Global settings */

View File

@ -185,16 +185,11 @@ copy_and_convert_field(StatementClass * stmt, Int4 field_type, void *value, Int2
/* pcbValueOffset is for computing any pcbValue location */
if (bind_size > 0)
{
pcbValueOffset = rgbValueOffset = (bind_size * bind_row);
}
else
{
pcbValueOffset = bind_row * sizeof(SDWORD);
rgbValueOffset = bind_row * cbValueMax;
}
memset(&st, 0, sizeof(SIMPLE_TIME));
@ -238,7 +233,6 @@ copy_and_convert_field(StatementClass * stmt, Int4 field_type, void *value, Int2
*********************************************************************/
switch (field_type)
{
/*
* $$$ need to add parsing for date/time/timestamp strings in
* PG_TYPE_CHAR,VARCHAR $$$
@ -255,10 +249,7 @@ copy_and_convert_field(StatementClass * stmt, Int4 field_type, void *value, Int2
case PG_TYPE_DATETIME:
case PG_TYPE_TIMESTAMP:
if (strnicmp(value, "invalid", 7) != 0)
{
sscanf(value, "%4d-%2d-%2d %2d:%2d:%2d", &st.y, &st.m, &st.d, &st.hh, &st.mm, &st.ss);
}
else
{ /* The timestamp is invalid so set
* something conspicuous, like the epoch */
@ -365,8 +356,6 @@ copy_and_convert_field(StatementClass * stmt, Int4 field_type, void *value, Int2
if (fCType == SQL_C_CHAR)
{
/* Special character formatting as required */
/*
@ -447,7 +436,6 @@ copy_and_convert_field(StatementClass * stmt, Int4 field_type, void *value, Int2
if (cbValueMax > 0)
{
copy_len = (len >= cbValueMax) ? cbValueMax - 1 : len;
/* Copy the data */
@ -474,7 +462,6 @@ copy_and_convert_field(StatementClass * stmt, Int4 field_type, void *value, Int2
}
else
{
/*
* for SQL_C_CHAR, it's probably ok to leave currency symbols in.
* But to convert to numeric types, it is necessary to get rid of
@ -624,7 +611,6 @@ copy_and_convert_field(StatementClass * stmt, Int4 field_type, void *value, Int2
if (stmt->current_col >= 0)
{
/* No more data left for this column */
if (stmt->bindings[stmt->current_col].data_left == 0)
return COPY_NO_DATA_FOUND;
@ -642,7 +628,6 @@ copy_and_convert_field(StatementClass * stmt, Int4 field_type, void *value, Int2
/* First call to SQLGetData so initialize data_left */
else
stmt->bindings[stmt->current_col].data_left = len;
}
if (cbValueMax > 0)
@ -677,7 +662,6 @@ copy_and_convert_field(StatementClass * stmt, Int4 field_type, void *value, Int2
*(SDWORD *) ((char *) pcbValue + pcbValueOffset) = len;
return result;
}
@ -748,7 +732,6 @@ copy_statement_with_parameters(StatementClass * stmt)
for (opos = 0; opos < oldstmtlen; opos++)
{
/* Squeeze carriage-return/linefeed pairs to linefeed only */
if (old_statement[opos] == '\r' && opos + 1 < oldstmtlen &&
old_statement[opos + 1] == '\n')
@ -955,7 +938,6 @@ copy_statement_with_parameters(StatementClass * stmt)
mylog("m=%d,d=%d,y=%d,hh=%d,mm=%d,ss=%d\n", st.m, st.d, st.y, st.hh, st.mm, st.ss);
break;
}
default:
/* error */
@ -1065,14 +1047,9 @@ copy_statement_with_parameters(StatementClass * stmt)
case SQL_LONGVARBINARY:
if (stmt->parameters[param_number].data_at_exec)
{
lobj_oid = stmt->parameters[param_number].lobj_oid;
}
else
{
/* begin transaction if needed */
if (!CC_is_in_trans(stmt->hdbc))
{
@ -1188,9 +1165,7 @@ copy_statement_with_parameters(StatementClass * stmt)
new_statement[npos++] = '\''; /* Close Quote */
break;
}
} /* end, for */
/* make sure new_statement is always null-terminated */
@ -1253,7 +1228,6 @@ convert_escape(char *value)
}
else if (strcmp(key, "fn") == 0)
{
/*
* Function invocation Separate off the func name, skipping
* trailing whitespace.
@ -1304,7 +1278,6 @@ convert_escape(char *value)
}
return escape;
}
@ -1473,7 +1446,6 @@ conv_from_octal(unsigned char *s)
y += (s[i] - 48) * (int) pow(8, 3 - i);
return y;
}
unsigned int
@ -1485,7 +1457,6 @@ conv_from_hex(unsigned char *s)
for (i = 1; i <= 2; i++)
{
if (s[i] >= 'a' && s[i] <= 'f')
val = s[i] - 'a' + 10;
else if (s[i] >= 'A' && s[i] <= 'F')
@ -1563,7 +1534,6 @@ convert_to_pgbinary(unsigned char *in, char *out, int len)
strcpy(&out[o], conv_to_octal(in[i]));
o += 5;
}
}
mylog("convert_to_pgbinary: returning %d, out='%.*s'\n", o, o, out);
@ -1661,7 +1631,6 @@ convert_lo(StatementClass * stmt, void *value, Int2 fCType, PTR rgbValue,
if (!bindInfo || bindInfo->data_left == -1)
{
/* begin transaction if needed */
if (!CC_is_in_trans(stmt->hdbc))
{
@ -1700,7 +1669,6 @@ convert_lo(StatementClass * stmt, void *value, Int2 fCType, PTR rgbValue,
retval = lo_lseek(stmt->hdbc, stmt->lobj_fd, 0L, SEEK_END);
if (retval >= 0)
{
left = lo_tell(stmt->hdbc, stmt->lobj_fd);
if (bindInfo)
bindInfo->data_left = left;
@ -1804,5 +1772,4 @@ convert_lo(StatementClass * stmt, void *value, Int2 fCType, PTR rgbValue,
return result;
}

View File

@ -49,7 +49,6 @@ extern GLOBAL_VALUES globals;
void
SetDlgStuff(HWND hdlg, ConnInfo * ci)
{
/*
* If driver attribute NOT present, then set the datasource name and
* description
@ -223,7 +222,6 @@ driver_optionsProc(HWND hdlg,
break;
}
}
return FALSE;
@ -351,7 +349,6 @@ makeConnectString(char *connect_string, ConnInfo * ci)
void
copyAttributes(ConnInfo * ci, char *attribute, char *value)
{
if (stricmp(attribute, "DSN") == 0)
strcpy(ci->dsn, value);
@ -398,7 +395,6 @@ copyAttributes(ConnInfo * ci, char *attribute, char *value)
}
mylog("copyAttributes: DSN='%s',server='%s',dbase='%s',user='%s',passwd='%s',port='%s',onlyread='%s',protocol='%s', conn_settings='%s')\n", ci->dsn, ci->server, ci->database, ci->username, ci->password, ci->port, ci->onlyread, ci->protocol, ci->conn_settings);
}
void
@ -520,7 +516,6 @@ getDSNinfo(ConnInfo * ci, char overwrite)
qlog(" translation_dll='%s',translation_option='%s'\n",
ci->translation_dll,
ci->translation_option);
}
@ -778,7 +773,6 @@ getGlobalDefaults(char *section, char *filename, char override)
/* Dont allow override of an override! */
if (!override)
{
/*
* ConnSettings is stored in the driver section and per datasource
* for override
@ -805,7 +799,6 @@ getGlobalDefaults(char *section, char *filename, char override)
strcpy(globals.protocol, temp);
else
strcpy(globals.protocol, DEFAULT_PROTOCOL);
}
}

View File

@ -147,7 +147,6 @@ dialog:
ci->port[0] == '\0' ||
password_required)
{
dialog_result = dconn_DoDialog(hwnd, ci);
if (dialog_result != SQL_SUCCESS)
return dialog_result;
@ -216,7 +215,6 @@ dialog:
if (szConnStrOut)
{
/*
* Return the completed string to the caller. The correct method
* is to only construct the connect string if a dialog was put up,
@ -390,7 +388,6 @@ dconn_get_connect_attributes(UCHAR FAR * connect_string, ConnInfo * ci)
/* Copy the appropriate value to the conninfo */
copyAttributes(ci, attribute, value);
}

View File

@ -212,7 +212,6 @@ SQLError(
}
mylog(" szSqlState = '%s', szError='%s'\n", szSqlState, szErrorMsg);
}
else
{
@ -227,7 +226,6 @@ SQLError(
return SQL_NO_DATA_FOUND;
}
return SQL_SUCCESS;
}
else if (SQL_NULL_HDBC != hdbc)
{
@ -322,7 +320,6 @@ SQLError(
/* general error */
break;
}
}
else
{
@ -337,7 +334,6 @@ SQLError(
return SQL_NO_DATA_FOUND;
}
return SQL_SUCCESS;
}
else if (SQL_NULL_HENV != henv)
{

View File

@ -274,7 +274,6 @@ SQLExecute(
if ((stmt->prepare && stmt->status != STMT_READY) ||
(stmt->status != STMT_ALLOCATED && stmt->status != STMT_READY))
{
stmt->errornumber = STMT_STATUS_ERROR;
stmt->errormsg = "The handle does not point to a statement that is ready to be executed";
SC_log_error(func, "", stmt);
@ -321,7 +320,6 @@ SQLExecute(
return SC_execute(stmt);
}
@ -363,7 +361,6 @@ SQLTransact(
if (conn && conn->henv == henv)
if (SQLTransact(henv, (HDBC) conn, fType) != SQL_SUCCESS)
return SQL_ERROR;
}
return SQL_SUCCESS;
}
@ -371,15 +368,9 @@ SQLTransact(
conn = (ConnectionClass *) hdbc;
if (fType == SQL_COMMIT)
{
stmt_string = "COMMIT";
}
else if (fType == SQL_ROLLBACK)
{
stmt_string = "ROLLBACK";
}
else
{
conn->errornumber = CONN_INVALID_ARGUMENT_NO;
@ -391,7 +382,6 @@ SQLTransact(
/* If manual commit and in transaction, then proceed. */
if (!CC_is_in_autocommit(conn) && CC_is_in_trans(conn))
{
mylog("SQLTransact: sending on conn %d '%s'\n", conn, stmt_string);
res = CC_send_query(conn, stmt_string, NULL);
@ -447,8 +437,6 @@ SQLCancel(
*/
if (stmt->data_at_exec < 0)
{
/*
* MAJOR HACK for Windows to reset the driver manager's cursor
* state: Because of what seems like a bug in the Odbc driver
@ -490,7 +478,6 @@ SQLCancel(
stmt->put_data = FALSE;
return SQL_SUCCESS;
}
/* - - - - - - - - - */
@ -720,7 +707,6 @@ SQLPutData(
/* Handle Long Var Binary with Large Objects */
if (current_param->SQLType == SQL_LONGVARBINARY)
{
/* begin transaction if needed */
if (!CC_is_in_trans(stmt->hdbc))
{
@ -774,7 +760,6 @@ SQLPutData(
retval = lo_write(stmt->hdbc, stmt->lobj_fd, rgbValue, cbValue);
mylog("lo_write: cbValue=%d, wrote %d bytes\n", cbValue, retval);
}
else
{ /* for handling text fields and small
@ -814,17 +799,14 @@ SQLPutData(
if (current_param->SQLType == SQL_LONGVARBINARY)
{
/* the large object fd is in EXEC_buffer */
retval = lo_write(stmt->hdbc, stmt->lobj_fd, rgbValue, cbValue);
mylog("lo_write(2): cbValue = %d, wrote %d bytes\n", cbValue, retval);
*current_param->EXEC_used += cbValue;
}
else
{
buffer = current_param->EXEC_buffer;
if (cbValue == SQL_NTS)
@ -845,11 +827,9 @@ SQLPutData(
/* reassign buffer incase realloc moved it */
current_param->EXEC_buffer = buffer;
}
else if (cbValue > 0)
{
old_pos = *current_param->EXEC_used;
*current_param->EXEC_used += cbValue;
@ -871,14 +851,12 @@ SQLPutData(
/* reassign buffer incase realloc moved it */
current_param->EXEC_buffer = buffer;
}
else
{
SC_log_error(func, "bad cbValue", stmt);
return SQL_ERROR;
}
}
}

View File

@ -698,7 +698,6 @@ SQLGetInfo(
if (rgbInfoValue)
{
if (len == 2)
*((WORD *) rgbInfoValue) = (WORD) value;
else if (len == 4)
@ -824,7 +823,6 @@ SQLGetFunctions(
if (fFunction == SQL_API_ALL_FUNCTIONS)
{
if (globals.lie)
{
int i;
@ -910,13 +908,10 @@ SQLGetFunctions(
}
else
{
if (globals.lie)
*pfExists = TRUE;
else
{
switch (fFunction)
{
case SQL_API_SQLALLOCCONNECT:
@ -1330,7 +1325,6 @@ SQLTables(
result = SQLFetch(htbl_stmt);
while ((result == SQL_SUCCESS) || (result == SQL_SUCCESS_WITH_INFO))
{
/*
* Determine if this table name is a system table. If treating
* system tables as regular tables, then no need to do this test.
@ -1338,7 +1332,6 @@ SQLTables(
systable = FALSE;
if (!atoi(ci->show_system_tables))
{
if (strncmp(table_name, POSTGRES_SYS_PREFIX, strlen(POSTGRES_SYS_PREFIX)) == 0)
systable = TRUE;
@ -1379,7 +1372,6 @@ SQLTables(
(view && show_views) ||
(regular_table && show_regular_tables))
{
row = (TupleNode *) malloc(sizeof(TupleNode) + (5 - 1) * sizeof(TupleField));
set_tuplefield_string(&row->tuple[0], "");
@ -1685,12 +1677,10 @@ SQLColumns(
if (result != SQL_ERROR && !stmt->internal)
{
if (relhasrules[0] != '1' &&
(atoi(ci->show_oid_column) ||
strncmp(table_name, POSTGRES_SYS_PREFIX, strlen(POSTGRES_SYS_PREFIX)) == 0))
{
/* For OID fields */
the_type = PG_TYPE_OID;
row = (TupleNode *) malloc(sizeof(TupleNode) +
@ -1718,7 +1708,6 @@ SQLColumns(
QR_add_tuple(stmt->result, row);
}
}
while ((result == SQL_SUCCESS) || (result == SQL_SUCCESS_WITH_INFO))
@ -1779,7 +1768,6 @@ SQLColumns(
if ((field_type == PG_TYPE_VARCHAR) ||
(field_type == PG_TYPE_BPCHAR))
{
useStaticPrecision = FALSE;
if (mod_length >= 4)
@ -1815,7 +1803,6 @@ SQLColumns(
result = SQLFetch(hcol_stmt);
}
if (result != SQL_NO_DATA_FOUND)
{
@ -1983,11 +1970,9 @@ SQLSpecialColumns(
set_tuplefield_int2(&row->tuple[7], SQL_PC_PSEUDO);
QR_add_tuple(stmt->result, row);
}
else if (fColType == SQL_ROWVER)
{
Int2 the_type = PG_TYPE_INT4;
if (atoi(ci->row_versioning))
@ -2152,7 +2137,6 @@ SQLStatistics(
stmt->errornumber = col_stmt->errornumber;
SQLFreeStmt(hcol_stmt, SQL_DROP);
goto SEEYA;
}
result = SQLFetch(hcol_stmt);
@ -2179,7 +2163,6 @@ SQLStatistics(
stmt->errornumber = col_stmt->errornumber;
SQLFreeStmt(hcol_stmt, SQL_DROP);
goto SEEYA;
}
SQLFreeStmt(hcol_stmt, SQL_DROP);
@ -2191,7 +2174,6 @@ SQLStatistics(
stmt->errormsg = "SQLAllocStmt failed in SQLStatistics for indices.";
stmt->errornumber = STMT_NO_MEMORY_ERROR;
goto SEEYA;
}
indx_stmt = (StatementClass *) hindx_stmt;
@ -2211,7 +2193,6 @@ SQLStatistics(
stmt->errornumber = indx_stmt->errornumber;
SQLFreeStmt(hindx_stmt, SQL_DROP);
goto SEEYA;
}
/* bind the index name column */
@ -2224,7 +2205,6 @@ SQLStatistics(
stmt->errornumber = indx_stmt->errornumber;
SQLFreeStmt(hindx_stmt, SQL_DROP);
goto SEEYA;
}
/* bind the vector column */
result = SQLBindCol(hindx_stmt, 2, SQL_C_DEFAULT,
@ -2236,7 +2216,6 @@ SQLStatistics(
stmt->errornumber = indx_stmt->errornumber;
SQLFreeStmt(hindx_stmt, SQL_DROP);
goto SEEYA;
}
/* bind the "is unique" column */
result = SQLBindCol(hindx_stmt, 3, SQL_C_CHAR,
@ -2260,7 +2239,6 @@ SQLStatistics(
stmt->errornumber = indx_stmt->errornumber;
SQLFreeStmt(hindx_stmt, SQL_DROP);
goto SEEYA;
}
result = SQLBindCol(hindx_stmt, 5, SQL_C_CHAR,
@ -2313,7 +2291,6 @@ SQLStatistics(
result = SQLFetch(hindx_stmt);
while ((result == SQL_SUCCESS) || (result == SQL_SUCCESS_WITH_INFO))
{
/* If only requesting unique indexs, then just return those. */
if (fUnique == SQL_INDEX_ALL ||
(fUnique == SQL_INDEX_UNIQUE && atoi(isunique)))
@ -2322,7 +2299,6 @@ SQLStatistics(
/* add a row in this table for each field in the index */
while (i < 8 && fields_vector[i] != 0)
{
row = (TupleNode *) malloc(sizeof(TupleNode) +
(13 - 1) * sizeof(TupleField));
@ -2571,7 +2547,6 @@ SQLPrimaryKeys(
while ((result == SQL_SUCCESS) || (result == SQL_SUCCESS_WITH_INFO))
{
row = (TupleNode *) malloc(sizeof(TupleNode) + (result_cols - 1) * sizeof(TupleField));
set_tuplefield_null(&row->tuple[0]);
@ -2897,7 +2872,6 @@ SQLForeignKeys(
while (result == SQL_SUCCESS)
{
/* Compute the number of keyparts. */
num_keys = (trig_nargs - 4) / 2;
@ -2912,7 +2886,6 @@ SQLForeignKeys(
/* If there is a pk table specified, then check it. */
if (pk_table_needed[0] != '\0')
{
/* If it doesn't match, then continue */
if (strcmp(pk_table, pk_table_needed))
{
@ -3001,7 +2974,6 @@ SQLForeignKeys(
for (k = 0; k < num_keys; k++)
{
row = (TupleNode *) malloc(sizeof(TupleNode) + (result_cols - 1) * sizeof(TupleField));
mylog("%s: pk_table = '%s', pkey_ptr = '%s'\n", func, pk_table, pkey_ptr);
@ -3049,7 +3021,6 @@ SQLForeignKeys(
*/
else if (pk_table_needed[0] != '\0')
{
sprintf(tables_query, "SELECT pg_trigger.tgargs, "
" pg_trigger.tgnargs, "
" pg_trigger.tgdeferrable, "
@ -3171,7 +3142,6 @@ SQLForeignKeys(
while (result == SQL_SUCCESS)
{
/* Calculate the number of key parts */
num_keys = (trig_nargs - 4) / 2;;
@ -3227,7 +3197,6 @@ SQLForeignKeys(
for (k = 0; k < num_keys; k++)
{
mylog("pkey_ptr = '%s', fk_table = '%s', fkey_ptr = '%s'\n", pkey_ptr, fk_table, fkey_ptr);
row = (TupleNode *) malloc(sizeof(TupleNode) + (result_cols - 1) * sizeof(TupleField));

View File

@ -76,7 +76,6 @@ lo_close(ConnectionClass * conn, int fd)
else
return retval;
}

View File

@ -185,7 +185,6 @@ strncpy_null(char *dst, const char *src, int len)
if (NULL != dst)
{
/* Just in case, check for special lengths */
if (len == SQL_NULL_DATA)
{
@ -241,7 +240,6 @@ make_string(char *s, int len, char *buf)
char *
my_strcat(char *buf, char *fmt, char *s, int len)
{
if (s && (len > 0 || (len == SQL_NTS && strlen(s) > 0)))
{
int length = (len > 0) ? len : strlen(s);

View File

@ -102,18 +102,15 @@ set_statement_option(ConnectionClass * conn,
if (globals.lie)
{
if (conn)
conn->stmtOptions.cursor_type = vParam;
if (stmt)
stmt->options.cursor_type = vParam;
}
else
{
if (globals.use_declarefetch)
{
if (conn)
conn->stmtOptions.cursor_type = SQL_CURSOR_FORWARD_ONLY;
if (stmt)
@ -126,7 +123,6 @@ set_statement_option(ConnectionClass * conn,
{
if (vParam == SQL_CURSOR_FORWARD_ONLY || vParam == SQL_CURSOR_STATIC)
{
if (conn)
conn->stmtOptions.cursor_type = vParam; /* valid type */
if (stmt)
@ -134,7 +130,6 @@ set_statement_option(ConnectionClass * conn,
}
else
{
if (conn)
conn->stmtOptions.cursor_type = SQL_CURSOR_STATIC;
if (stmt)
@ -312,7 +307,6 @@ SQLSetConnectOption(
switch (fOption)
{
/*
* Statement Options (apply to all stmts on the connection and
* become defaults for new stmts)
@ -423,7 +417,6 @@ SQLSetConnectOption(
CC_log_error(func, option, conn);
return SQL_ERROR;
}
}
if (changed)
@ -509,7 +502,6 @@ SQLGetConnectOption(
return SQL_ERROR;
break;
}
}
return SQL_SUCCESS;

View File

@ -78,7 +78,6 @@ getNextToken(char *s, char *token, int smax, char *delim, char *quote, char *dqu
while (!isspace((unsigned char) s[i]) && s[i] != ',' &&
s[i] != '\0' && out != smax)
{
/* Handle quoted stuff */
if (out == 0 && (s[i] == '\"' || s[i] == '\''))
{
@ -279,7 +278,6 @@ parse_statement(StatementClass * stmt)
while ((ptr = getNextToken(ptr, token, sizeof(token), &delim, &quote, &dquote, &numeric)) != NULL)
{
unquoted = !(quote || dquote);
mylog("unquoted=%d, quote=%d, dquote=%d, numeric=%d, delim='%c', token='%s', ptr='%s'\n", unquoted, quote, dquote, numeric, delim, token, ptr);
@ -323,7 +321,6 @@ parse_statement(StatementClass * stmt)
!stricmp(token, "group") ||
!stricmp(token, "having")))
{
in_select = FALSE;
in_from = FALSE;
in_where = TRUE;
@ -334,7 +331,6 @@ parse_statement(StatementClass * stmt)
if (in_select)
{
if (in_distinct)
{
mylog("in distinct\n");
@ -389,7 +385,6 @@ parse_statement(StatementClass * stmt)
if (!in_field)
{
if (!token[0])
continue;
@ -522,12 +517,10 @@ parse_statement(StatementClass * stmt)
fi[stmt->nfld - 1]->expr = TRUE;
fi[stmt->nfld - 1]->name[0] = '\0';
mylog("*** setting expression\n");
}
if (in_from)
{
if (!in_table)
{
if (!token[0])
@ -581,7 +574,6 @@ parse_statement(StatementClass * stmt)
/* Resolve field names with tables */
for (i = 0; i < stmt->nfld; i++)
{
if (fi[i]->func || fi[i]->expr || fi[i]->numeric)
{
fi[i]->ti = NULL;
@ -641,7 +633,6 @@ parse_statement(StatementClass * stmt)
/* Call SQLColumns for each table and store the result */
for (i = 0; i < stmt->ntab; i++)
{
/* See if already got it */
char found = FALSE;
@ -657,7 +648,6 @@ parse_statement(StatementClass * stmt)
if (!found)
{
mylog("PARSE: Getting SQLColumns for table[%d]='%s'\n", i, ti[i]->name);
result = SQLAllocStmt(stmt->hdbc, &hcol_stmt);
@ -681,7 +671,6 @@ parse_statement(StatementClass * stmt)
mylog(" Success\n");
if (!(conn->ntables % COL_INCR))
{
mylog("PARSE: Allocing col_info at ntables=%d\n", conn->ntables);
conn->col_info = (COL_INFO **) realloc(conn->col_info, (conn->ntables + COL_INCR) * sizeof(COL_INFO *));
@ -741,7 +730,6 @@ parse_statement(StatementClass * stmt)
for (i = 0; i < stmt->nfld;)
{
/* Dont worry about functions or quotes */
if (fi[i]->func || fi[i]->quote || fi[i]->numeric)
{
@ -752,7 +740,6 @@ parse_statement(StatementClass * stmt)
/* Stars get expanded to all fields in the table */
else if (fi[i]->name[0] == '*')
{
char do_all_tables;
int total_cols,
old_size,
@ -823,7 +810,6 @@ parse_statement(StatementClass * stmt)
for (k = 0; k < (do_all_tables ? stmt->ntab : 1); k++)
{
TABLE_INFO *the_ti = do_all_tables ? ti[k] : fi[i]->ti;
cols = QR_get_num_tuples(the_ti->col_info->result);
@ -867,7 +853,6 @@ parse_statement(StatementClass * stmt)
*/
else if (fi[i]->ti)
{
if (!searchColInfo(fi[i]->ti->col_info, fi[i]))
parse = FALSE;

View File

@ -109,7 +109,6 @@ sqltype_to_pgtype(SWORD fSqlType)
switch (fSqlType)
{
case SQL_BINARY:
pgType = PG_TYPE_BYTEA;
break;
@ -203,7 +202,8 @@ pgtype_to_sqltype(StatementClass * stmt, Int4 type)
case PG_TYPE_CHAR2:
case PG_TYPE_CHAR4:
case PG_TYPE_CHAR8:
case PG_TYPE_NAME:return SQL_CHAR;
case PG_TYPE_NAME:
return SQL_CHAR;
case PG_TYPE_BPCHAR:
return SQL_CHAR;
@ -271,7 +271,8 @@ pgtype_to_ctype(StatementClass * stmt, Int4 type)
{
switch (type)
{
case PG_TYPE_INT8:return SQL_C_CHAR;
case PG_TYPE_INT8:
return SQL_C_CHAR;
case PG_TYPE_NUMERIC:
return SQL_C_CHAR;
case PG_TYPE_INT2:
@ -531,11 +532,10 @@ getCharPrecision(StatementClass * stmt, Int4 type, int col, int handle_unknown_s
Int4
pgtype_precision(StatementClass * stmt, Int4 type, int col, int handle_unknown_size_as)
{
switch (type)
{
case PG_TYPE_CHAR:return 1;
case PG_TYPE_CHAR:
return 1;
case PG_TYPE_CHAR2:
return 2;
case PG_TYPE_CHAR4:
@ -597,10 +597,10 @@ pgtype_precision(StatementClass * stmt, Int4 type, int col, int handle_unknown_s
Int4
pgtype_display_size(StatementClass * stmt, Int4 type, int col, int handle_unknown_size_as)
{
switch (type)
{
case PG_TYPE_INT2:return 6;
case PG_TYPE_INT2:
return 6;
case PG_TYPE_OID:
case PG_TYPE_XID:
@ -636,11 +636,10 @@ pgtype_display_size(StatementClass * stmt, Int4 type, int col, int handle_unknow
Int4
pgtype_length(StatementClass * stmt, Int4 type, int col, int handle_unknown_size_as)
{
switch (type)
{
case PG_TYPE_INT2:return 2;
case PG_TYPE_INT2:
return 2;
case PG_TYPE_OID:
case PG_TYPE_XID:
@ -681,7 +680,6 @@ pgtype_scale(StatementClass * stmt, Int4 type, int col)
{
switch (type)
{
case PG_TYPE_INT2:
case PG_TYPE_OID:
case PG_TYPE_XID:
@ -698,7 +696,8 @@ pgtype_scale(StatementClass * stmt, Int4 type, int col)
*/
case PG_TYPE_ABSTIME:
case PG_TYPE_DATETIME:
case PG_TYPE_TIMESTAMP:return 0;
case PG_TYPE_TIMESTAMP:
return 0;
case PG_TYPE_NUMERIC:
return getNumericScale(stmt, type, col);
@ -721,7 +720,8 @@ pgtype_radix(StatementClass * stmt, Int4 type)
case PG_TYPE_NUMERIC:
case PG_TYPE_FLOAT4:
case PG_TYPE_MONEY:
case PG_TYPE_FLOAT8:return 10;
case PG_TYPE_FLOAT8:
return 10;
default:
return -1;
@ -739,7 +739,6 @@ pgtype_auto_increment(StatementClass * stmt, Int4 type)
{
switch (type)
{
case PG_TYPE_INT2:
case PG_TYPE_OID:
case PG_TYPE_XID:
@ -755,7 +754,8 @@ pgtype_auto_increment(StatementClass * stmt, Int4 type)
case PG_TYPE_TIME:
case PG_TYPE_ABSTIME:
case PG_TYPE_DATETIME:
case PG_TYPE_TIMESTAMP:return FALSE;
case PG_TYPE_TIMESTAMP:
return FALSE;
default:
return -1;
@ -776,7 +776,8 @@ pgtype_case_sensitive(StatementClass * stmt, Int4 type)
case PG_TYPE_VARCHAR:
case PG_TYPE_BPCHAR:
case PG_TYPE_TEXT:
case PG_TYPE_NAME:return TRUE;
case PG_TYPE_NAME:
return TRUE;
default:
return FALSE;
@ -788,7 +789,8 @@ pgtype_money(StatementClass * stmt, Int4 type)
{
switch (type)
{
case PG_TYPE_MONEY:return TRUE;
case PG_TYPE_MONEY:
return TRUE;
default:
return FALSE;
}
@ -807,7 +809,8 @@ pgtype_searchable(StatementClass * stmt, Int4 type)
case PG_TYPE_VARCHAR:
case PG_TYPE_BPCHAR:
case PG_TYPE_TEXT:
case PG_TYPE_NAME:return SQL_SEARCHABLE;
case PG_TYPE_NAME:
return SQL_SEARCHABLE;
default:
return SQL_ALL_EXCEPT_LIKE;
@ -820,7 +823,8 @@ pgtype_unsigned(StatementClass * stmt, Int4 type)
switch (type)
{
case PG_TYPE_OID:
case PG_TYPE_XID:return TRUE;
case PG_TYPE_XID:
return TRUE;
case PG_TYPE_INT2:
case PG_TYPE_INT4:
@ -841,7 +845,6 @@ pgtype_literal_prefix(StatementClass * stmt, Int4 type)
{
switch (type)
{
case PG_TYPE_INT2:
case PG_TYPE_OID:
case PG_TYPE_XID:
@ -862,7 +865,6 @@ pgtype_literal_suffix(StatementClass * stmt, Int4 type)
{
switch (type)
{
case PG_TYPE_INT2:
case PG_TYPE_OID:
case PG_TYPE_XID:

View File

@ -59,7 +59,6 @@ DllMain(HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
if (LOBYTE(wsaData.wVersion) != 1 ||
HIBYTE(wsaData.wVersion) != 1)
{
WSACleanup();
return FALSE;
}

View File

@ -110,7 +110,6 @@ QR_Constructor(void)
rv->cache_size = globals.fetch_max;
rv->rowset_size = 1;
}
mylog("exit QR_Constructor\n");
@ -152,7 +151,6 @@ QR_Destructor(QResultClass * self)
free(self);
mylog("QResult: exit DESTRUCTOR\n");
}
void
@ -186,7 +184,6 @@ QR_free_memory(QResultClass * self)
if (self->backend_tuples)
{
for (row = 0; row < fcount; row++)
{
mylog("row = %d, num_fields = %d\n", row, num_fields);
@ -284,7 +281,6 @@ QR_fetch_tuples(QResultClass * self, ConnectionClass * conn, char *cursor)
}
else
{
/* Always have to read the field attributes. */
/* But we dont have to reallocate memory for them! */
@ -343,7 +339,6 @@ QR_close(QResultClass * self)
return FALSE;
}
}
}
return TRUE;
@ -389,7 +384,6 @@ QR_next_tuple(QResultClass * self)
}
else
{
/*
* See if we need to fetch another group of rows. We may be being
* called from send_query(), and if so, don't send another fetch,
@ -399,7 +393,6 @@ QR_next_tuple(QResultClass * self)
if (!self->inTuples)
{
if (!globals.use_declarefetch)
{
mylog("next_tuple: ALL_ROWS: done, fcount = %d, fetch_count = %d\n", fcount, fetch_count);
@ -433,7 +426,6 @@ QR_next_tuple(QResultClass * self)
offset = self->fetch_count;
self->fetch_count++;
}
@ -486,7 +478,6 @@ QR_next_tuple(QResultClass * self)
for (;;)
{
id = SOCK_get_char(sock);
switch (id)
@ -533,7 +524,6 @@ QR_next_tuple(QResultClass * self)
self->inTuples = FALSE;
if (self->fcount > 0)
{
qlog(" [ fetched %d rows ]\n", self->fcount);
mylog("_next_tuple: 'C' fetch_max && fcount = %d\n", self->fcount);
@ -626,7 +616,6 @@ QR_read_tuple(QResultClass * self, char binary)
}
else
{
/*
* NO, the field is not null. so get at first the length of
* the field (four bytes)

View File

@ -81,7 +81,6 @@ SQLRowCount(
}
else
{
res = SC_get_Result(stmt);
if (res && pcrow)
{
@ -135,7 +134,6 @@ SQLNumResultCols(
parse_ok = FALSE;
if (globals.parse && stmt->statement_type == STMT_TYPE_SELECT)
{
if (stmt->parse_status == STMT_PARSE_NONE)
{
mylog("SQLNumResultCols: calling parse_statement on stmt=%u\n", stmt);
@ -152,7 +150,6 @@ SQLNumResultCols(
if (!parse_ok)
{
SC_pre_execute(stmt);
result = SC_get_Result(stmt);
@ -229,7 +226,6 @@ SQLDescribeCol(
parse_ok = FALSE;
if (globals.parse && stmt->statement_type == STMT_TYPE_SELECT)
{
if (stmt->parse_status == STMT_PARSE_NONE)
{
mylog("SQLDescribeCol: calling parse_statement on stmt=%u\n", stmt);
@ -241,7 +237,6 @@ SQLDescribeCol(
if (stmt->parse_status != STMT_PARSE_FATAL && stmt->fi && stmt->fi[icol])
{
if (icol >= stmt->nfld)
{
stmt->errornumber = STMT_INVALID_COLUMN_NUMBER_ERROR;
@ -342,7 +337,6 @@ SQLDescribeCol(
/************************/
if (pcbColDef)
{
if (precision < 0)
precision = 0; /* "I dont know" */
@ -430,7 +424,6 @@ SQLColAttributes(
parse_ok = FALSE;
if (globals.parse && stmt->statement_type == STMT_TYPE_SELECT)
{
if (stmt->parse_status == STMT_PARSE_NONE)
{
mylog("SQLColAttributes: calling parse_statement\n");
@ -453,7 +446,6 @@ SQLColAttributes(
if (stmt->parse_status != STMT_PARSE_FATAL && stmt->fi && stmt->fi[icol])
{
if (icol >= cols)
{
stmt->errornumber = STMT_INVALID_COLUMN_NUMBER_ERROR;
@ -542,7 +534,6 @@ SQLColAttributes(
mylog("SQLColAttr: COLUMN_LABEL = '%s'\n", p);
break;
} /* otherwise same as column name -- FALL
* THROUGH!!! */
@ -652,7 +643,6 @@ SQLColAttributes(
if (pfDesc)
*pfDesc = value;
}
@ -707,7 +697,6 @@ SQLGetData(
if (icol == 0)
{
if (stmt->options.use_bookmarks == SQL_UB_OFF)
{
stmt->errornumber = STMT_COLNUM_ERROR;
@ -726,12 +715,10 @@ SQLGetData(
}
get_bookmark = TRUE;
}
else
{
/* use zero-based column numbers */
icol--;
@ -1031,10 +1018,7 @@ SQLExtendedFetch(
stmt->rowset_start = 0;
else
{
stmt->rowset_start += (save_rowset_size > 0 ? save_rowset_size : stmt->options.rowset_size);
}
mylog("SQL_FETCH_NEXT: num_tuples=%d, currtuple=%d\n", num_tuples, stmt->currTuple);
break;
@ -1050,17 +1034,10 @@ SQLExtendedFetch(
*/
if (stmt->rowset_start >= num_tuples)
{
stmt->rowset_start = num_tuples <= 0 ? 0 : (num_tuples - stmt->options.rowset_size);
}
else
{
stmt->rowset_start -= stmt->options.rowset_size;
}
break;
case SQL_FETCH_FIRST:
@ -1116,7 +1093,6 @@ SQLExtendedFetch(
default:
SC_log_error(func, "Unsupported SQLExtendedFetch Direction", stmt);
return SQL_ERROR;
}
@ -1172,7 +1148,6 @@ SQLExtendedFetch(
truncated = error = FALSE;
for (i = 0; i < stmt->options.rowset_size; i++)
{
stmt->bind_row = i; /* set the binding location */
result = SC_fetch(stmt);
@ -1220,7 +1195,6 @@ SQLExtendedFetch(
return SQL_SUCCESS_WITH_INFO;
else
return SQL_SUCCESS;
}
@ -1301,7 +1275,6 @@ SQLSetPos(
stmt->currTuple = stmt->rowset_start + irow;
return SQL_SUCCESS;
}
/* Sets options that control the behavior of cursors. */

View File

@ -50,7 +50,6 @@ typedef struct tagSETUPDLG
char szDSN[MAXDSNAME]; /* Original data source name */
BOOL fNewDSN; /* New data source flag */
BOOL fDefault; /* Default data source flag */
} SETUPDLG, FAR * LPSETUPDLG;
@ -214,7 +213,6 @@ ConfigDlgProc(HWND hdlg,
WPARAM wParam,
LPARAM lParam)
{
switch (wMsg)
{
/* Initialize the dialog */
@ -266,7 +264,6 @@ ConfigDlgProc(HWND hdlg,
switch (GET_WM_COMMAND_ID(wParam, lParam))
{
/*
* Ensure the OK button is enabled only when a data
* source name
@ -370,7 +367,6 @@ ParseAttributes(LPCSTR lpszAttributes, LPSETUPDLG lpsetupdlg)
cbKey = lpsz - lpszStart;
if (cbKey < sizeof(aszKey))
{
_fmemcpy(aszKey, lpszStart, cbKey);
aszKey[cbKey] = '\0';
}

View File

@ -70,7 +70,6 @@ SOCK_Constructor()
rv->reverse = FALSE;
}
return rv;
}
void
@ -93,7 +92,6 @@ SOCK_Destructor(SocketClass * self)
free(self->buffer_out);
free(self);
}
@ -145,7 +143,6 @@ SOCK_connect_to(SocketClass * self, unsigned short port, char *hostname)
if (connect(self->socket, (struct sockaddr *) & (sadr),
sizeof(sadr)) < 0)
{
self->errornumber = SOCKET_COULD_NOT_CONNECT;
self->errormsg = "Could not connect to remote socket.";
closesocket(self->socket);
@ -290,7 +287,6 @@ SOCK_flush_output(SocketClass * self)
unsigned char
SOCK_get_next_byte(SocketClass * self)
{
if (self->buffer_read_in >= self->buffer_filled_in)
{
/* there are no more bytes left in the buffer -> */
@ -313,7 +309,6 @@ SOCK_get_next_byte(SocketClass * self)
self->errormsg = "Socket has been closed.";
self->buffer_filled_in = 0;
}
}
return self->buffer_in[self->buffer_read_in++];
}

View File

@ -180,13 +180,9 @@ SQLFreeStmt(HSTMT hstmt,
/* Destroy the statement and free any results, cursors, etc. */
SC_Destructor(stmt);
}
else if (fOption == SQL_UNBIND)
{
SC_unbind_cols(stmt);
}
else if (fOption == SQL_CLOSE)
{
/* this should discard all the results, but leave the statement */
@ -197,13 +193,9 @@ SQLFreeStmt(HSTMT hstmt,
SC_log_error(func, "", stmt);
return SQL_ERROR;
}
}
else if (fOption == SQL_RESET_PARAMS)
{
SC_free_params(stmt, STMT_FREE_PARAMS_ALL);
}
else
{
stmt->errormsg = "Invalid option passed to SQLFreeStmt.";
@ -298,7 +290,6 @@ SC_Constructor(void)
char
SC_Destructor(StatementClass * self)
{
mylog("SC_Destructor: self=%u, self->result=%u, self->hdbc=%u\n", self, self->result, self->hdbc);
if (STMT_EXECUTING == self->status)
{
@ -380,7 +371,6 @@ SC_free_params(StatementClass * self, char option)
{
if (self->parameters[i].data_at_exec == TRUE)
{
if (self->parameters[i].EXEC_used)
{
free(self->parameters[i].EXEC_used);
@ -469,7 +459,6 @@ SC_recycle_statement(StatementClass * self)
conn = SC_get_conn(self);
if (!CC_is_in_autocommit(conn) && CC_is_in_trans(conn))
{
CC_send_query(conn, "ABORT", NULL);
CC_set_no_trans(conn);
}
@ -548,7 +537,6 @@ SC_recycle_statement(StatementClass * self)
void
SC_pre_execute(StatementClass * self)
{
mylog("SC_pre_execute: status = %d\n", self->status);
if (self->status == STMT_READY)
@ -690,11 +678,9 @@ SC_fetch(StatementClass * self)
if (self->manual_result || !globals.use_declarefetch)
{
if (self->currTuple >= QR_get_num_tuples(res) - 1 ||
(self->options.maxRows > 0 && self->currTuple == self->options.maxRows - 1))
{
/*
* if at the end of the tuples, return "no data found" and set
* the cursor past the end of the result set
@ -708,7 +694,6 @@ SC_fetch(StatementClass * self)
}
else
{
/* read from the cache or the physical next tuple */
retval = QR_next_tuple(res);
if (retval < 0)
@ -751,7 +736,6 @@ SC_fetch(StatementClass * self)
for (lf = 0; lf < num_cols; lf++)
{
mylog("fetch: cols=%d, lf=%d, self = %u, self->bindings = %u, buffer[] = %u\n", num_cols, lf, self, self->bindings, self->bindings[lf].buffer);
/* reset for SQLGetData */
@ -860,7 +844,6 @@ SC_execute(StatementClass * self)
if (!self->internal && !CC_is_in_trans(conn) &&
((globals.use_declarefetch && self->statement_type == STMT_TYPE_SELECT) || (!CC_is_in_autocommit(conn) && STMT_UPDATE(self))))
{
mylog(" about to begin a transaction on statement = %u\n", self);
res = CC_send_query(conn, "BEGIN", NULL);
if (!res)
@ -902,7 +885,6 @@ SC_execute(StatementClass * self)
/* in copy_statement... */
if (self->statement_type == STMT_TYPE_SELECT)
{
char fetch[128];
mylog(" Sending SELECT statement on stmt=%u, cursor_name='%s'\n", self, self->cursor_name);
@ -914,7 +896,6 @@ SC_execute(StatementClass * self)
if (globals.use_declarefetch && self->result != NULL &&
QR_command_successful(self->result))
{
QR_Destructor(self->result);
/*
@ -968,7 +949,6 @@ SC_execute(StatementClass * self)
/* Check the status of the result */
if (self->result)
{
was_ok = QR_command_successful(self->result);
was_nonfatal = QR_command_nonfatal(self->result);

View File

@ -25,7 +25,6 @@ TL_Constructor(UInt4 fieldcnt)
rv = (TupleListClass *) malloc(sizeof(TupleListClass));
if (rv)
{
rv->num_fields = fieldcnt;
rv->num_tuples = 0;
rv->list_start = NULL;
@ -134,7 +133,6 @@ TL_get_fieldval(TupleListClass * self, Int4 tupleno, Int2 fieldno)
}
else if (start_is_closer)
{
/*
* the shortest way is to start the search from the head of the
* list
@ -181,7 +179,6 @@ TL_get_fieldval(TupleListClass * self, Int4 tupleno, Int2 fieldno)
char
TL_add_tuple(TupleListClass * self, TupleNode * new_field)
{
/*
* we append the tuple at the end of the doubly linked list of the
* tuples we have already read in
@ -200,7 +197,6 @@ TL_add_tuple(TupleListClass * self, TupleNode * new_field)
}
else
{
/*
* there is already an element in the list, so add the new one at
* the end of the list