mirror of
https://github.com/postgres/postgres.git
synced 2025-04-27 22:56:53 +03:00
Fix for ODBC compile warnings.
This commit is contained in:
parent
918feb61d6
commit
51b55730ae
@ -340,7 +340,7 @@ PGAPI_ParamOptions(
|
|||||||
mylog("%s: entering... %d %x\n", func, crow, pirow);
|
mylog("%s: entering... %d %x\n", func, crow, pirow);
|
||||||
|
|
||||||
stmt->options.paramset_size = crow;
|
stmt->options.paramset_size = crow;
|
||||||
stmt->options.param_processed_ptr = pirow;
|
stmt->options.param_processed_ptr = (SQLUINTEGER *)pirow;
|
||||||
return SQL_SUCCESS;
|
return SQL_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1130,8 +1130,7 @@ CC_get_error(ConnectionClass *self, int *number, char **message)
|
|||||||
QResultClass *
|
QResultClass *
|
||||||
CC_send_query(ConnectionClass *self, char *query, QueryInfo *qi, UDWORD flag)
|
CC_send_query(ConnectionClass *self, char *query, QueryInfo *qi, UDWORD flag)
|
||||||
{
|
{
|
||||||
QResultClass *result_in = NULL,
|
QResultClass *cmdres = NULL,
|
||||||
*cmdres = NULL,
|
|
||||||
*retres = NULL,
|
*retres = NULL,
|
||||||
*res = NULL;
|
*res = NULL;
|
||||||
BOOL clear_result_on_abort = ((flag & CLEAR_RESULT_ON_ABORT) != 0),
|
BOOL clear_result_on_abort = ((flag & CLEAR_RESULT_ON_ABORT) != 0),
|
||||||
|
@ -161,7 +161,9 @@ timestamp2stime(const char *str, SIMPLE_TIME *st, BOOL *bZone, int *zone)
|
|||||||
*ptr;
|
*ptr;
|
||||||
int scnt,
|
int scnt,
|
||||||
i;
|
i;
|
||||||
|
#if defined(WIN32) || defined(HAVE_INT_TIMEZONE)
|
||||||
long timediff;
|
long timediff;
|
||||||
|
#endif
|
||||||
BOOL withZone = *bZone;
|
BOOL withZone = *bZone;
|
||||||
|
|
||||||
*bZone = FALSE;
|
*bZone = FALSE;
|
||||||
@ -1431,7 +1433,8 @@ copy_statement_with_parameters(StatementClass *stmt)
|
|||||||
*/
|
*/
|
||||||
else if (oldchar == '{')
|
else if (oldchar == '{')
|
||||||
{
|
{
|
||||||
char *begin = &old_statement[opos], *end;
|
char *begin = &old_statement[opos];
|
||||||
|
const char *end;
|
||||||
|
|
||||||
/* procedure calls */
|
/* procedure calls */
|
||||||
if (stmt->statement_type == STMT_TYPE_PROCCALL)
|
if (stmt->statement_type == STMT_TYPE_PROCCALL)
|
||||||
@ -1463,8 +1466,8 @@ copy_statement_with_parameters(StatementClass *stmt)
|
|||||||
proc_no_param = FALSE;
|
proc_no_param = FALSE;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (convert_escape(begin, stmt, &npos, &new_stsize, &end
|
if (convert_escape(begin, stmt, &npos, &new_stsize, &end) !=
|
||||||
) != CONVERT_ESCAPE_OK)
|
CONVERT_ESCAPE_OK)
|
||||||
{
|
{
|
||||||
stmt->errormsg = "ODBC escape convert error";
|
stmt->errormsg = "ODBC escape convert error";
|
||||||
stmt->errornumber = STMT_EXEC_ERROR;
|
stmt->errornumber = STMT_EXEC_ERROR;
|
||||||
@ -2080,7 +2083,7 @@ mapFunction(const char *func, int param_count)
|
|||||||
if (mapFuncs[i][0][0] == '%')
|
if (mapFuncs[i][0][0] == '%')
|
||||||
{
|
{
|
||||||
if (mapFuncs[i][0][1] - '0' == param_count &&
|
if (mapFuncs[i][0][1] - '0' == param_count &&
|
||||||
!stricmp(mapFuncs[i][0] + 2, func))
|
!stricmp(mapFuncs[i][0] + 2, func))
|
||||||
return mapFuncs[i][1];
|
return mapFuncs[i][1];
|
||||||
}
|
}
|
||||||
else if (!stricmp(mapFuncs[i][0], func))
|
else if (!stricmp(mapFuncs[i][0], func))
|
||||||
@ -2197,7 +2200,7 @@ int inner_convert_escape(const ConnectionClass *conn, const char *value,
|
|||||||
funcEnd++;
|
funcEnd++;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We expect left parenthesis here, else return fn body as-is
|
* We expect left parenthesis here, else return fn body as-is
|
||||||
* since it is one of those "function constants".
|
* since it is one of those "function constants".
|
||||||
*/
|
*/
|
||||||
if (*funcEnd != '(')
|
if (*funcEnd != '(')
|
||||||
@ -2222,7 +2225,7 @@ int inner_convert_escape(const ConnectionClass *conn, const char *value,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (param_count == 1 &&
|
if (param_count == 1 &&
|
||||||
param_pos[0][1] < param_pos[0][0])
|
param_pos[0][1] < param_pos[0][0])
|
||||||
param_count = 0;
|
param_count = 0;
|
||||||
|
|
||||||
mapExpr = mapFunction(key, param_count);
|
mapExpr = mapFunction(key, param_count);
|
||||||
@ -2256,7 +2259,7 @@ int inner_convert_escape(const ConnectionClass *conn, const char *value,
|
|||||||
{
|
{
|
||||||
pidx = *mapptr - '0' - 1;
|
pidx = *mapptr - '0' - 1;
|
||||||
if (pidx < 0 ||
|
if (pidx < 0 ||
|
||||||
param_pos[pidx][0] <0)
|
param_pos[pidx][0] <0)
|
||||||
{
|
{
|
||||||
qlog("%s %dth param not found for the expression %s\n", pidx + 1, mapExpr);
|
qlog("%s %dth param not found for the expression %s\n", pidx + 1, mapExpr);
|
||||||
return CONVERT_ESCAPE_ERROR;
|
return CONVERT_ESCAPE_ERROR;
|
||||||
@ -2449,7 +2452,8 @@ int processParameters(const ConnectionClass *conn, const char *value,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
convert_escape(const char *value, StatementClass *stmt, int *npos, int *stsize, const char **val_resume)
|
convert_escape(const char *value, StatementClass *stmt, int *npos, int *stsize,
|
||||||
|
const char **val_resume)
|
||||||
{
|
{
|
||||||
int ret, pos = *npos;
|
int ret, pos = *npos;
|
||||||
UInt4 count;
|
UInt4 count;
|
||||||
|
@ -641,7 +641,7 @@ makeConnectString(char *connect_string, const ConnInfo *ci, UWORD len)
|
|||||||
flag |= BIT_TRUEISMINUS1;
|
flag |= BIT_TRUEISMINUS1;
|
||||||
|
|
||||||
sprintf(&connect_string[hlen],
|
sprintf(&connect_string[hlen],
|
||||||
";A6=%s;A7=%d;A8=%d;B0=%d;B1=%d;C2=%s;CX=%02x%x",
|
";A6=%s;A7=%d;A8=%d;B0=%d;B1=%d;C2=%s;CX=%02x%lx",
|
||||||
encoded_conn_settings,
|
encoded_conn_settings,
|
||||||
ci->drivers.fetch_max,
|
ci->drivers.fetch_max,
|
||||||
ci->drivers.socket_buffersize,
|
ci->drivers.socket_buffersize,
|
||||||
@ -662,7 +662,7 @@ unfoldCXAttribute(ConnInfo *ci, const char *value)
|
|||||||
if (strlen(value) < 2)
|
if (strlen(value) < 2)
|
||||||
{
|
{
|
||||||
count = 3;
|
count = 3;
|
||||||
sscanf(value, "%x", &flag);
|
sscanf(value, "%lx", &flag);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -670,7 +670,7 @@ unfoldCXAttribute(ConnInfo *ci, const char *value)
|
|||||||
memcpy(cnt, value, 2);
|
memcpy(cnt, value, 2);
|
||||||
cnt[2] = '\0';
|
cnt[2] = '\0';
|
||||||
sscanf(cnt, "%x", &count);
|
sscanf(cnt, "%x", &count);
|
||||||
sscanf(value + 2, "%x", &flag);
|
sscanf(value + 2, "%lx", &flag);
|
||||||
}
|
}
|
||||||
ci->disallow_premature = (char)((flag & BIT_DISALLOWPREMATURE) != 0);
|
ci->disallow_premature = (char)((flag & BIT_DISALLOWPREMATURE) != 0);
|
||||||
ci->updatable_cursors = (char)((flag & BIT_UPDATABLECURSORS) != 0);
|
ci->updatable_cursors = (char)((flag & BIT_UPDATABLECURSORS) != 0);
|
||||||
|
@ -94,9 +94,8 @@ PGAPI_StmtError( HSTMT hstmt,
|
|||||||
StatementClass *stmt = (StatementClass *) hstmt;
|
StatementClass *stmt = (StatementClass *) hstmt;
|
||||||
char *msg;
|
char *msg;
|
||||||
int status;
|
int status;
|
||||||
BOOL once_again = FALSE,
|
BOOL partial_ok = ((flag & PODBC_ALLOW_PARTIAL_EXTRACT) != 0),
|
||||||
partial_ok = (flag & PODBC_ALLOW_PARTIAL_EXTRACT != 0),
|
clear_str = ((flag & PODBC_ERROR_CLEAR) != 0);
|
||||||
clear_str = (flag & PODBC_ERROR_CLEAR != 0);
|
|
||||||
SWORD msglen, stapos, wrtlen, pcblen;
|
SWORD msglen, stapos, wrtlen, pcblen;
|
||||||
|
|
||||||
mylog("**** PGAPI_StmtError: hstmt=%u <%d>\n", hstmt, cbErrorMsgMax);
|
mylog("**** PGAPI_StmtError: hstmt=%u <%d>\n", hstmt, cbErrorMsgMax);
|
||||||
|
@ -3983,7 +3983,7 @@ PGAPI_TablePrivileges(
|
|||||||
char *grolist, *uid, *delm;
|
char *grolist, *uid, *delm;
|
||||||
|
|
||||||
snprintf(proc_query, sizeof(proc_query) - 1, "select grolist from pg_group where groname = '%s'", user);
|
snprintf(proc_query, sizeof(proc_query) - 1, "select grolist from pg_group where groname = '%s'", user);
|
||||||
if (gres = CC_send_query(conn, proc_query, NULL, CLEAR_RESULT_ON_ABORT))
|
if ((gres = CC_send_query(conn, proc_query, NULL, CLEAR_RESULT_ON_ABORT)))
|
||||||
{
|
{
|
||||||
grolist = QR_get_value_backend_row(gres, 0, 0);
|
grolist = QR_get_value_backend_row(gres, 0, 0);
|
||||||
if (grolist && grolist[0] == '{')
|
if (grolist && grolist[0] == '{')
|
||||||
|
@ -228,8 +228,8 @@ pg_CS_stat(int stat,unsigned int character,int characterset_code)
|
|||||||
character > 0xa0)
|
character > 0xa0)
|
||||||
stat = 3;
|
stat = 3;
|
||||||
else if (stat == 3 ||
|
else if (stat == 3 ||
|
||||||
stat < 2 &&
|
(stat < 2 &&
|
||||||
character > 0xa0)
|
character > 0xa0))
|
||||||
stat = 2;
|
stat = 2;
|
||||||
else if (stat == 2)
|
else if (stat == 2)
|
||||||
stat = 1;
|
stat = 1;
|
||||||
|
@ -86,4 +86,7 @@ void encoded_str_constr(encoded_str *encstr, int ccsc, const char *str);
|
|||||||
#define make_encoded_str(encstr, conn, str) encoded_str_constr(encstr, conn->ccsc, str)
|
#define make_encoded_str(encstr, conn, str) encoded_str_constr(encstr, conn->ccsc, str)
|
||||||
extern int encoded_nextchar(encoded_str *encstr);
|
extern int encoded_nextchar(encoded_str *encstr);
|
||||||
extern int encoded_byte_check(encoded_str *encstr, int abspos);
|
extern int encoded_byte_check(encoded_str *encstr, int abspos);
|
||||||
|
|
||||||
|
/* This doesn't seem to be called by anyone, bjm 2002-03-24 */
|
||||||
|
extern int pg_ismb(int characterset_code);
|
||||||
#define check_client_encoding(X) pg_CS_name(pg_CS_code(X))
|
#define check_client_encoding(X) pg_CS_name(pg_CS_code(X))
|
||||||
|
@ -234,7 +234,9 @@ pgtype_to_sqltype(StatementClass *stmt, Int4 type)
|
|||||||
{
|
{
|
||||||
ConnectionClass *conn = SC_get_conn(stmt);
|
ConnectionClass *conn = SC_get_conn(stmt);
|
||||||
ConnInfo *ci = &(conn->connInfo);
|
ConnInfo *ci = &(conn->connInfo);
|
||||||
|
#if (ODBCVER >= 0x0300)
|
||||||
EnvironmentClass *env = (EnvironmentClass *) (conn->henv);
|
EnvironmentClass *env = (EnvironmentClass *) (conn->henv);
|
||||||
|
#endif
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
@ -342,7 +344,9 @@ pgtype_to_ctype(StatementClass *stmt, Int4 type)
|
|||||||
{
|
{
|
||||||
ConnectionClass *conn = SC_get_conn(stmt);
|
ConnectionClass *conn = SC_get_conn(stmt);
|
||||||
ConnInfo *ci = &(conn->connInfo);
|
ConnInfo *ci = &(conn->connInfo);
|
||||||
|
#if (ODBCVER >= 0x0300)
|
||||||
EnvironmentClass *env = (EnvironmentClass *) (conn->henv);
|
EnvironmentClass *env = (EnvironmentClass *) (conn->henv);
|
||||||
|
#endif
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
|
@ -731,10 +731,10 @@ QR_read_tuple(QResultClass *self, char binary)
|
|||||||
if (this_keyset)
|
if (this_keyset)
|
||||||
{
|
{
|
||||||
if (this_tuplefield[num_fields - 2].value)
|
if (this_tuplefield[num_fields - 2].value)
|
||||||
sscanf(this_tuplefield[num_fields - 2].value, "(%u,%hu)",
|
sscanf(this_tuplefield[num_fields - 2].value, "(%lu,%hu)",
|
||||||
&this_keyset->blocknum, &this_keyset->offset);
|
&this_keyset->blocknum, &this_keyset->offset);
|
||||||
if (this_tuplefield[num_fields - 1].value)
|
if (this_tuplefield[num_fields - 1].value)
|
||||||
sscanf(this_tuplefield[num_fields - 1].value, "%u",
|
sscanf(this_tuplefield[num_fields - 1].value, "%lu",
|
||||||
&this_keyset->oid);
|
&this_keyset->oid);
|
||||||
}
|
}
|
||||||
self->currTuple++;
|
self->currTuple++;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user