6
#ifndef _PG_API_FUNC_H__
7
#define _PG_API_FUNC_H__
13
/* Internal flags for catalog functions */
14
#define PODBC_NOT_SEARCH_PATTERN 1L
15
/* Flags for the error handling */
16
#define PODBC_ALLOW_PARTIAL_EXTRACT 1L
17
#define PODBC_ERROR_CLEAR (1L << 1)
19
RETCODE SQL_API PGAPI_AllocConnect(HENV EnvironmentHandle,
20
HDBC FAR * ConnectionHandle);
21
RETCODE SQL_API PGAPI_AllocEnv(HENV FAR * EnvironmentHandle);
22
RETCODE SQL_API PGAPI_AllocStmt(HDBC ConnectionHandle,
23
HSTMT *StatementHandle);
24
RETCODE SQL_API PGAPI_BindCol(HSTMT StatementHandle,
25
SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType,
26
PTR TargetValue, SQLINTEGER BufferLength,
27
SQLINTEGER *StrLen_or_Ind);
28
RETCODE SQL_API PGAPI_Cancel(HSTMT StatementHandle);
29
RETCODE SQL_API PGAPI_Columns(HSTMT StatementHandle,
30
SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
31
SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
32
SQLCHAR *TableName, SQLSMALLINT NameLength3,
33
SQLCHAR *ColumnName, SQLSMALLINT NameLength4,
35
RETCODE SQL_API PGAPI_Connect(HDBC ConnectionHandle,
36
SQLCHAR *ServerName, SQLSMALLINT NameLength1,
37
SQLCHAR *UserName, SQLSMALLINT NameLength2,
38
SQLCHAR *Authentication, SQLSMALLINT NameLength3);
39
RETCODE SQL_API PGAPI_DriverConnect(HDBC hdbc, HWND hwnd,
40
UCHAR FAR * szConnStrIn, SWORD cbConnStrIn,
41
UCHAR FAR * szConnStrOut, SWORD cbConnStrOutMax,
42
SWORD FAR * pcbConnStrOut, UWORD fDriverCompletion);
43
RETCODE SQL_API PGAPI_BrowseConnect(HDBC hdbc,
44
SQLCHAR *szConnStrIn, SQLSMALLINT cbConnStrIn,
45
SQLCHAR *szConnStrOut, SQLSMALLINT cbConnStrOutMax,
46
SQLSMALLINT *pcbConnStrOut);
47
RETCODE SQL_API PGAPI_DataSources(HENV EnvironmentHandle,
48
SQLUSMALLINT Direction, SQLCHAR *ServerName,
49
SQLSMALLINT BufferLength1, SQLSMALLINT *NameLength1,
50
SQLCHAR *Description, SQLSMALLINT BufferLength2,
51
SQLSMALLINT *NameLength2);
52
RETCODE SQL_API PGAPI_DescribeCol(HSTMT StatementHandle,
53
SQLUSMALLINT ColumnNumber, SQLCHAR *ColumnName,
54
SQLSMALLINT BufferLength, SQLSMALLINT *NameLength,
55
SQLSMALLINT *DataType, SQLUINTEGER *ColumnSize,
56
SQLSMALLINT *DecimalDigits, SQLSMALLINT *Nullable);
57
RETCODE SQL_API PGAPI_Disconnect(HDBC ConnectionHandle);
58
RETCODE SQL_API PGAPI_Error(HENV EnvironmentHandle,
59
HDBC ConnectionHandle, HSTMT StatementHandle,
60
SQLCHAR *Sqlstate, SQLINTEGER *NativeError,
61
SQLCHAR *MessageText, SQLSMALLINT BufferLength,
62
SQLSMALLINT *TextLength);
63
/* Helper functions for Error handling */
64
RETCODE SQL_API PGAPI_EnvError(HENV EnvironmentHandle, SWORD RecNumber,
65
SQLCHAR *Sqlstate, SQLINTEGER *NativeError,
66
SQLCHAR *MessageText, SQLSMALLINT BufferLength,
67
SQLSMALLINT *TextLength, UWORD flag);
68
RETCODE SQL_API PGAPI_ConnectError(HDBC ConnectionHandle, SWORD RecNumber,
69
SQLCHAR *Sqlstate, SQLINTEGER *NativeError,
70
SQLCHAR *MessageText, SQLSMALLINT BufferLength,
71
SQLSMALLINT *TextLength, UWORD flag);
72
RETCODE SQL_API PGAPI_StmtError(HSTMT StatementHandle, SWORD RecNumber,
73
SQLCHAR *Sqlstate, SQLINTEGER *NativeError,
74
SQLCHAR *MessageText, SQLSMALLINT BufferLength,
75
SQLSMALLINT *TextLength, UWORD flag);
77
RETCODE SQL_API PGAPI_ExecDirect(HSTMT StatementHandle,
78
SQLCHAR *StatementText, SQLINTEGER TextLength);
79
RETCODE SQL_API PGAPI_Execute(HSTMT StatementHandle);
80
RETCODE SQL_API PGAPI_Fetch(HSTMT StatementHandle);
81
RETCODE SQL_API PGAPI_FreeConnect(HDBC ConnectionHandle);
82
RETCODE SQL_API PGAPI_FreeEnv(HENV EnvironmentHandle);
83
RETCODE SQL_API PGAPI_FreeStmt(HSTMT StatementHandle,
85
RETCODE SQL_API PGAPI_GetConnectOption(HDBC ConnectionHandle,
86
SQLUSMALLINT Option, PTR Value);
87
RETCODE SQL_API PGAPI_GetCursorName(HSTMT StatementHandle,
88
SQLCHAR *CursorName, SQLSMALLINT BufferLength,
89
SQLSMALLINT *NameLength);
90
RETCODE SQL_API PGAPI_GetData(HSTMT StatementHandle,
91
SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType,
92
PTR TargetValue, SQLINTEGER BufferLength,
93
SQLINTEGER *StrLen_or_Ind);
94
RETCODE SQL_API PGAPI_GetFunctions(HDBC ConnectionHandle,
95
SQLUSMALLINT FunctionId, SQLUSMALLINT *Supported);
96
RETCODE SQL_API PGAPI_GetFunctions30(HDBC ConnectionHandle,
97
SQLUSMALLINT FunctionId, SQLUSMALLINT *Supported);
98
RETCODE SQL_API PGAPI_GetInfo(HDBC ConnectionHandle,
99
SQLUSMALLINT InfoType, PTR InfoValue,
100
SQLSMALLINT BufferLength, SQLSMALLINT *StringLength);
101
RETCODE SQL_API PGAPI_GetInfo30(HDBC ConnectionHandle,
102
SQLUSMALLINT InfoType, PTR InfoValue,
103
SQLSMALLINT BufferLength, SQLSMALLINT *StringLength);
104
RETCODE SQL_API PGAPI_GetStmtOption(HSTMT StatementHandle,
105
SQLUSMALLINT Option, PTR Value);
106
RETCODE SQL_API PGAPI_GetTypeInfo(HSTMT StatementHandle,
107
SQLSMALLINT DataType);
108
RETCODE SQL_API PGAPI_NumResultCols(HSTMT StatementHandle,
109
SQLSMALLINT *ColumnCount);
110
RETCODE SQL_API PGAPI_ParamData(HSTMT StatementHandle,
112
RETCODE SQL_API PGAPI_Prepare(HSTMT StatementHandle,
113
SQLCHAR *StatementText, SQLINTEGER TextLength);
114
RETCODE SQL_API PGAPI_PutData(HSTMT StatementHandle,
115
PTR Data, SQLINTEGER StrLen_or_Ind);
116
RETCODE SQL_API PGAPI_RowCount(HSTMT StatementHandle,
117
SQLINTEGER *RowCount);
118
RETCODE SQL_API PGAPI_SetConnectOption(HDBC ConnectionHandle,
119
SQLUSMALLINT Option, SQLUINTEGER Value);
120
RETCODE SQL_API PGAPI_SetCursorName(HSTMT StatementHandle,
121
SQLCHAR *CursorName, SQLSMALLINT NameLength);
122
RETCODE SQL_API PGAPI_SetParam(HSTMT StatementHandle,
123
SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType,
124
SQLSMALLINT ParameterType, SQLUINTEGER LengthPrecision,
125
SQLSMALLINT ParameterScale, PTR ParameterValue,
126
SQLINTEGER *StrLen_or_Ind);
127
RETCODE SQL_API PGAPI_SetStmtOption(HSTMT StatementHandle,
128
SQLUSMALLINT Option, SQLUINTEGER Value);
129
RETCODE SQL_API PGAPI_SpecialColumns(HSTMT StatementHandle,
130
SQLUSMALLINT IdentifierType, SQLCHAR *CatalogName,
131
SQLSMALLINT NameLength1, SQLCHAR *SchemaName,
132
SQLSMALLINT NameLength2, SQLCHAR *TableName,
133
SQLSMALLINT NameLength3, SQLUSMALLINT Scope,
134
SQLUSMALLINT Nullable);
135
RETCODE SQL_API PGAPI_Statistics(HSTMT StatementHandle,
136
SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
137
SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
138
SQLCHAR *TableName, SQLSMALLINT NameLength3,
139
SQLUSMALLINT Unique, SQLUSMALLINT Reserved);
140
RETCODE SQL_API PGAPI_Tables(HSTMT StatementHandle,
141
SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
142
SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
143
SQLCHAR *TableName, SQLSMALLINT NameLength3,
144
SQLCHAR *TableType, SQLSMALLINT NameLength4);
145
RETCODE SQL_API PGAPI_Transact(HENV EnvironmentHandle,
146
HDBC ConnectionHandle, SQLUSMALLINT CompletionType);
147
RETCODE SQL_API PGAPI_ColAttributes(
150
SQLUSMALLINT fDescType,
152
SQLSMALLINT cbDescMax,
153
SQLSMALLINT *pcbDesc,
155
RETCODE SQL_API PGAPI_ColumnPrivileges(
157
SQLCHAR *szCatalogName,
158
SQLSMALLINT cbCatalogName,
159
SQLCHAR *szSchemaName,
160
SQLSMALLINT cbSchemaName,
161
SQLCHAR *szTableName,
162
SQLSMALLINT cbTableName,
163
SQLCHAR *szColumnName,
164
SQLSMALLINT cbColumnName);
165
RETCODE SQL_API PGAPI_DescribeParam(
168
SQLSMALLINT *pfSqlType,
169
SQLUINTEGER *pcbParamDef,
170
SQLSMALLINT *pibScale,
171
SQLSMALLINT *pfNullable);
172
RETCODE SQL_API PGAPI_ExtendedFetch(
174
SQLUSMALLINT fFetchType,
177
SQLUSMALLINT *rgfRowStatus,
178
SQLINTEGER FetchOffset,
179
SQLINTEGER rowsetSize);
180
RETCODE SQL_API PGAPI_ForeignKeys(
182
SQLCHAR *szPkCatalogName,
183
SQLSMALLINT cbPkCatalogName,
184
SQLCHAR *szPkSchemaName,
185
SQLSMALLINT cbPkSchemaName,
186
SQLCHAR *szPkTableName,
187
SQLSMALLINT cbPkTableName,
188
SQLCHAR *szFkCatalogName,
189
SQLSMALLINT cbFkCatalogName,
190
SQLCHAR *szFkSchemaName,
191
SQLSMALLINT cbFkSchemaName,
192
SQLCHAR *szFkTableName,
193
SQLSMALLINT cbFkTableName);
194
RETCODE SQL_API PGAPI_MoreResults(
196
RETCODE SQL_API PGAPI_NativeSql(
199
SQLINTEGER cbSqlStrIn,
201
SQLINTEGER cbSqlStrMax,
202
SQLINTEGER *pcbSqlStr);
203
RETCODE SQL_API PGAPI_NumParams(
206
RETCODE SQL_API PGAPI_ParamOptions(
210
RETCODE SQL_API PGAPI_PrimaryKeys(
212
SQLCHAR *szCatalogName,
213
SQLSMALLINT cbCatalogName,
214
SQLCHAR *szSchemaName,
215
SQLSMALLINT cbSchemaName,
216
SQLCHAR *szTableName,
217
SQLSMALLINT cbTableName);
218
RETCODE SQL_API PGAPI_ProcedureColumns(
220
SQLCHAR *szCatalogName,
221
SQLSMALLINT cbCatalogName,
222
SQLCHAR *szSchemaName,
223
SQLSMALLINT cbSchemaName,
225
SQLSMALLINT cbProcName,
226
SQLCHAR *szColumnName,
227
SQLSMALLINT cbColumnName);
228
RETCODE SQL_API PGAPI_Procedures(
230
SQLCHAR *szCatalogName,
231
SQLSMALLINT cbCatalogName,
232
SQLCHAR *szSchemaName,
233
SQLSMALLINT cbSchemaName,
235
SQLSMALLINT cbProcName);
236
RETCODE SQL_API PGAPI_SetPos(
239
SQLUSMALLINT fOption,
241
RETCODE SQL_API PGAPI_TablePrivileges(
243
SQLCHAR *szCatalogName,
244
SQLSMALLINT cbCatalogName,
245
SQLCHAR *szSchemaName,
246
SQLSMALLINT cbSchemaName,
247
SQLCHAR *szTableName,
248
SQLSMALLINT cbTableName,
250
RETCODE SQL_API PGAPI_BindParameter(
253
SQLSMALLINT fParamType,
255
SQLSMALLINT fSqlType,
256
SQLUINTEGER cbColDef,
259
SQLINTEGER cbValueMax,
260
SQLINTEGER *pcbValue);
261
RETCODE SQL_API PGAPI_SetScrollOptions(
267
#if (ODBCVER >= 0x0300)
268
RETCODE SQL_API PGAPI_GetDiagRec(SQLSMALLINT HandleType, SQLHANDLE Handle,
269
SQLSMALLINT RecNumber, SQLCHAR *Sqlstate,
270
SQLINTEGER *NativeError, SQLCHAR *MessageText,
271
SQLSMALLINT BufferLength, SQLSMALLINT *TextLength);
272
RETCODE SQL_API PGAPI_GetDiagField(SQLSMALLINT HandleType, SQLHANDLE Handle,
273
SQLSMALLINT RecNumber, SQLSMALLINT DiagIdentifier,
274
PTR DiagInfoPtr, SQLSMALLINT BufferLength,
275
SQLSMALLINT *StringLengthPtr);
276
RETCODE SQL_API PGAPI_GetConnectAttr(HDBC ConnectionHandle,
277
SQLINTEGER Attribute, PTR Value,
278
SQLINTEGER BufferLength, SQLINTEGER *StringLength);
279
RETCODE SQL_API PGAPI_GetStmtAttr(HSTMT StatementHandle,
280
SQLINTEGER Attribute, PTR Value,
281
SQLINTEGER BufferLength, SQLINTEGER *StringLength);
282
RETCODE SQL_API PGAPI_SetConnectAttr(HDBC ConnectionHandle,
283
SQLINTEGER Attribute, PTR Value,
284
SQLINTEGER StringLength);
285
RETCODE SQL_API PGAPI_SetStmtAttr(HSTMT StatementHandle,
286
SQLINTEGER Attribute, PTR Value,
287
SQLINTEGER StringLength);
288
RETCODE SQL_API PGAPI_BulkOperations(HSTMT StatementHandle,
289
SQLSMALLINT operation);
290
RETCODE SQL_API PGAPI_SetDescField(SQLHDESC DescriptorHandle,
291
SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier,
292
PTR Value, SQLINTEGER BufferLength);
293
RETCODE SQL_API PGAPI_GetDescField(SQLHDESC DescriptorHandle,
294
SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier,
295
PTR Value, SQLINTEGER BufferLength, SQLINTEGER *StringLength);
297
#endif /* define_PG_API_FUNC_H__ */