mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Prevent an infinite loop of error reporting.
This commit is contained in:
@ -610,7 +610,7 @@ CC_connect(ConnectionClass *self, char do_password)
|
|||||||
int areq = -1;
|
int areq = -1;
|
||||||
int beresp;
|
int beresp;
|
||||||
static char msgbuffer[ERROR_MSG_LENGTH];
|
static char msgbuffer[ERROR_MSG_LENGTH];
|
||||||
char salt[5];
|
char salt[5], notice[512];
|
||||||
static char *func = "CC_connect";
|
static char *func = "CC_connect";
|
||||||
|
|
||||||
#ifdef MULTIBYTE
|
#ifdef MULTIBYTE
|
||||||
@ -893,6 +893,9 @@ another_version_retry:
|
|||||||
case 'Z': /* Backend is ready for new query (6.4) */
|
case 'Z': /* Backend is ready for new query (6.4) */
|
||||||
ReadyForQuery = TRUE;
|
ReadyForQuery = TRUE;
|
||||||
break;
|
break;
|
||||||
|
case 'N': /* Notices may come */
|
||||||
|
while (SOCK_get_string(sock, notice, sizeof(notice) - 1)) ;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
self->errormsg = "Unexpected protocol character during authentication";
|
self->errormsg = "Unexpected protocol character during authentication";
|
||||||
self->errornumber = CONN_INVALID_AUTHENTICATION;
|
self->errornumber = CONN_INVALID_AUTHENTICATION;
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Comments: See "notice.txt" for copyright and license information.
|
* Comments: See "notice.txt" for copyright and license information.
|
||||||
*
|
*
|
||||||
* $Id: descriptor.h,v 1.3 2002/04/02 10:50:44 inoue Exp $
|
* $Id: descriptor.h,v 1.4 2002/04/10 08:18:54 inoue Exp $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -17,7 +17,7 @@
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
COL_INFO *col_info; /* cached SQLColumns info for this table */
|
COL_INFO *col_info; /* cached SQLColumns info for this table */
|
||||||
char schema[MAX_TABLE_LEN + 1];
|
char schema[MAX_SCHEMA_LEN + 1];
|
||||||
char name[MAX_TABLE_LEN + 1];
|
char name[MAX_TABLE_LEN + 1];
|
||||||
char alias[MAX_TABLE_LEN + 1];
|
char alias[MAX_TABLE_LEN + 1];
|
||||||
} TABLE_INFO;
|
} TABLE_INFO;
|
||||||
|
@ -342,6 +342,8 @@ PGAPI_GetInfo(
|
|||||||
case SQL_MAX_OWNER_NAME_LEN: /* ODBC 1.0 */
|
case SQL_MAX_OWNER_NAME_LEN: /* ODBC 1.0 */
|
||||||
len = 2;
|
len = 2;
|
||||||
value = 0;
|
value = 0;
|
||||||
|
if (conn->schema_support)
|
||||||
|
value = MAX_SCHEMA_LEN;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SQL_MAX_PROCEDURE_NAME_LEN: /* ODBC 1.0 */
|
case SQL_MAX_PROCEDURE_NAME_LEN: /* ODBC 1.0 */
|
||||||
@ -484,12 +486,21 @@ PGAPI_GetInfo(
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case SQL_OWNER_TERM: /* ODBC 1.0 */
|
case SQL_OWNER_TERM: /* ODBC 1.0 */
|
||||||
|
if (conn->schema_support)
|
||||||
|
p = "schema";
|
||||||
|
else
|
||||||
p = "owner";
|
p = "owner";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SQL_OWNER_USAGE: /* ODBC 2.0 */
|
case SQL_OWNER_USAGE: /* ODBC 2.0 */
|
||||||
len = 4;
|
len = 4;
|
||||||
value = 0;
|
value = 0;
|
||||||
|
if (conn->schema_support)
|
||||||
|
value = SQL_OU_DML_STATEMENTS
|
||||||
|
| SQL_OU_TABLE_DEFINITION
|
||||||
|
| SQL_OU_INDEX_DEFINITION
|
||||||
|
| SQL_OU_PRIVILEGE_DEFINITION
|
||||||
|
;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SQL_POS_OPERATIONS: /* ODBC 2.0 */
|
case SQL_POS_OPERATIONS: /* ODBC 2.0 */
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Comments: See "notice.txt" for copyright and license information.
|
* Comments: See "notice.txt" for copyright and license information.
|
||||||
*
|
*
|
||||||
* $Id: psqlodbc.h,v 1.63 2002/04/02 10:50:49 inoue Exp $
|
* $Id: psqlodbc.h,v 1.64 2002/04/10 08:18:53 inoue Exp $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -124,6 +124,7 @@ typedef UInt4 Oid;
|
|||||||
#define BYTELEN 8
|
#define BYTELEN 8
|
||||||
#define VARHDRSZ sizeof(Int4)
|
#define VARHDRSZ sizeof(Int4)
|
||||||
|
|
||||||
|
#define MAX_SCHEMA_LEN 32
|
||||||
#define MAX_TABLE_LEN 32
|
#define MAX_TABLE_LEN 32
|
||||||
#define MAX_COLUMN_LEN 32
|
#define MAX_COLUMN_LEN 32
|
||||||
#define MAX_CURSOR_LEN 32
|
#define MAX_CURSOR_LEN 32
|
||||||
|
@ -301,6 +301,7 @@ SC_Constructor(void)
|
|||||||
rv->inaccurate_result = FALSE;
|
rv->inaccurate_result = FALSE;
|
||||||
rv->miscinfo = 0;
|
rv->miscinfo = 0;
|
||||||
rv->updatable = FALSE;
|
rv->updatable = FALSE;
|
||||||
|
rv->error_recsize = -1;
|
||||||
}
|
}
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user