1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-02 09:02:37 +03:00

1) Implement SQLParamOptions().

2) Handle Multiple results and implement SQLMoreResult().
3) Improve multibyte handling thanks to Eiji Tokuya.
4) Add new options.
   LF <-> CR/LF converion.
   TRUE is -1 (for VB).
5) Introduce unicode(UCS-2) support.
6) Reduce the length of connection strings.
7) Improve SQLError, SQLGetDiagRec(ODBC 3.0).
8) Implement SQLTablePrivileges().
9) Miscellaneous changes for ODBC 3.0 support.
This commit is contained in:
Hiroshi Inoue
2002-03-08 08:52:55 +00:00
parent 21f8aa396f
commit 4b47467a6b
43 changed files with 3884 additions and 1417 deletions

View File

@ -103,7 +103,7 @@ enum
STMT_PARSE_NONE = 0,
STMT_PARSE_COMPLETE,
STMT_PARSE_INCOMPLETE,
STMT_PARSE_FATAL
STMT_PARSE_FATAL,
};
/* Result style */
@ -111,7 +111,7 @@ enum
{
STMT_FETCH_NONE = 0,
STMT_FETCH_NORMAL,
STMT_FETCH_EXTENDED
STMT_FETCH_EXTENDED,
};
typedef struct
@ -147,6 +147,7 @@ struct StatementClass_
ConnectionClass *hdbc; /* pointer to ConnectionClass this
* statement belongs to */
QResultClass *result; /* result of the current statement */
QResultClass *curres; /* the current result in the chain */
HSTMT FAR *phstmt;
StatementOptions options;
@ -215,14 +216,15 @@ struct StatementClass_
char pre_executing; /* This statement is prematurely executing */
char inaccurate_result; /* Current status is PREMATURE but
* result is inaccurate */
char errormsg_malloced; /* Current error message is
* malloed (not in a static
* variable) ? */
char miscinfo;
SWORD errorpos;
SWORD error_recsize;
};
#define SC_get_conn(a) (a->hdbc)
#define SC_get_Result(a) (a->result);
#define SC_set_Result(a, b) (a->result = a->curres = b)
#define SC_get_Result(a) (a->result)
#define SC_get_Curres(a) (a->curres)
/* options for SC_free_params() */
#define STMT_FREE_PARAMS_ALL 0
@ -252,7 +254,7 @@ char *SC_create_errormsg(StatementClass *self);
RETCODE SC_execute(StatementClass *self);
RETCODE SC_fetch(StatementClass *self);
void SC_free_params(StatementClass *self, char option);
void SC_log_error(char *func, char *desc, StatementClass *self);
void SC_log_error(const char *func, const char *desc, const StatementClass *self);
unsigned long SC_get_bookmark(StatementClass *self);
#endif