mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Fix the bug reported by Chris Lee.
This commit is contained in:
@ -974,7 +974,7 @@ copy_statement_with_parameters(StatementClass *stmt)
|
|||||||
ConnectionClass *conn = SC_get_conn(stmt);
|
ConnectionClass *conn = SC_get_conn(stmt);
|
||||||
ConnInfo *ci = &(conn->connInfo);
|
ConnInfo *ci = &(conn->connInfo);
|
||||||
BOOL prepare_dummy_cursor = FALSE, begin_first = FALSE;
|
BOOL prepare_dummy_cursor = FALSE, begin_first = FALSE;
|
||||||
char token_save[32];
|
char token_save[64];
|
||||||
int token_len;
|
int token_len;
|
||||||
BOOL prev_token_end;
|
BOOL prev_token_end;
|
||||||
#ifdef DRIVER_CURSOR_IMPLEMENT
|
#ifdef DRIVER_CURSOR_IMPLEMENT
|
||||||
@ -1247,7 +1247,7 @@ copy_statement_with_parameters(StatementClass *stmt)
|
|||||||
token_save[0] = oldchar;
|
token_save[0] = oldchar;
|
||||||
token_len = 1;
|
token_len = 1;
|
||||||
}
|
}
|
||||||
else
|
else if (token_len + 1 < sizeof(token_save))
|
||||||
token_save[token_len++] = oldchar;
|
token_save[token_len++] = oldchar;
|
||||||
}
|
}
|
||||||
CVT_APPEND_CHAR(oldchar);
|
CVT_APPEND_CHAR(oldchar);
|
||||||
|
@ -586,10 +586,10 @@ pgtype_precision(StatementClass *stmt, Int4 type, int col, int handle_unknown_si
|
|||||||
return 8;
|
return 8;
|
||||||
|
|
||||||
case PG_TYPE_ABSTIME:
|
case PG_TYPE_ABSTIME:
|
||||||
case PG_TYPE_DATETIME:
|
|
||||||
case PG_TYPE_TIMESTAMP:
|
case PG_TYPE_TIMESTAMP:
|
||||||
/*return 19;*/
|
return 22;
|
||||||
return 21;
|
case PG_TYPE_DATETIME:
|
||||||
|
return 22;
|
||||||
|
|
||||||
case PG_TYPE_BOOL:
|
case PG_TYPE_BOOL:
|
||||||
return 1;
|
return 1;
|
||||||
@ -678,12 +678,12 @@ pgtype_length(StatementClass *stmt, Int4 type, int col, int handle_unknown_size_
|
|||||||
|
|
||||||
case PG_TYPE_DATE:
|
case PG_TYPE_DATE:
|
||||||
case PG_TYPE_TIME:
|
case PG_TYPE_TIME:
|
||||||
return 6;
|
return 6; /* sizeof(DATE(TIME)_STRUCT) */
|
||||||
|
|
||||||
case PG_TYPE_ABSTIME:
|
case PG_TYPE_ABSTIME:
|
||||||
case PG_TYPE_DATETIME:
|
case PG_TYPE_DATETIME:
|
||||||
case PG_TYPE_TIMESTAMP:
|
case PG_TYPE_TIMESTAMP:
|
||||||
return 16;
|
return 16; /* sizeof(TIMESTAMP_STRUCT) */
|
||||||
|
|
||||||
/* Character types (and NUMERIC) use the default precision */
|
/* Character types (and NUMERIC) use the default precision */
|
||||||
case PG_TYPE_VARCHAR:
|
case PG_TYPE_VARCHAR:
|
||||||
@ -723,9 +723,10 @@ pgtype_scale(StatementClass *stmt, Int4 type, int col)
|
|||||||
* "yyyy-mm=dd hh:mm:ss[.f...]"
|
* "yyyy-mm=dd hh:mm:ss[.f...]"
|
||||||
*/
|
*/
|
||||||
case PG_TYPE_ABSTIME:
|
case PG_TYPE_ABSTIME:
|
||||||
case PG_TYPE_DATETIME:
|
|
||||||
case PG_TYPE_TIMESTAMP:
|
case PG_TYPE_TIMESTAMP:
|
||||||
return 0;
|
return 0;
|
||||||
|
case PG_TYPE_DATETIME:
|
||||||
|
return 0;
|
||||||
|
|
||||||
case PG_TYPE_NUMERIC:
|
case PG_TYPE_NUMERIC:
|
||||||
return getNumericScale(stmt, type, col);
|
return getNumericScale(stmt, type, col);
|
||||||
|
Reference in New Issue
Block a user