int areq = -1;
int beresp;
static char msgbuffer[ERROR_MSG_LENGTH];
- char salt[5];
+ char salt[5], notice[512];
static char *func = "CC_connect";
#ifdef MULTIBYTE
case 'Z': /* Backend is ready for new query (6.4) */
ReadyForQuery = TRUE;
break;
+ case 'N': /* Notices may come */
+ while (SOCK_get_string(sock, notice, sizeof(notice) - 1)) ;
+ break;
default:
self->errormsg = "Unexpected protocol character during authentication";
self->errornumber = CONN_INVALID_AUTHENTICATION;
*
* 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 $
*
*/
typedef struct
{
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 alias[MAX_TABLE_LEN + 1];
} TABLE_INFO;
case SQL_MAX_OWNER_NAME_LEN: /* ODBC 1.0 */
len = 2;
value = 0;
+ if (conn->schema_support)
+ value = MAX_SCHEMA_LEN;
break;
case SQL_MAX_PROCEDURE_NAME_LEN: /* ODBC 1.0 */
break;
case SQL_OWNER_TERM: /* ODBC 1.0 */
- p = "owner";
+ if (conn->schema_support)
+ p = "schema";
+ else
+ p = "owner";
break;
case SQL_OWNER_USAGE: /* ODBC 2.0 */
len = 4;
value = 0;
+ if (conn->schema_support)
+ value = SQL_OU_DML_STATEMENTS
+ | SQL_OU_TABLE_DEFINITION
+ | SQL_OU_INDEX_DEFINITION
+ | SQL_OU_PRIVILEGE_DEFINITION
+ ;
break;
case SQL_POS_OPERATIONS: /* ODBC 2.0 */
*
* 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 $
*
*/
#define BYTELEN 8
#define VARHDRSZ sizeof(Int4)
+#define MAX_SCHEMA_LEN 32
#define MAX_TABLE_LEN 32
#define MAX_COLUMN_LEN 32
#define MAX_CURSOR_LEN 32
rv->inaccurate_result = FALSE;
rv->miscinfo = 0;
rv->updatable = FALSE;
+ rv->error_recsize = -1;
}
return rv;
}