6 #ifndef _PG_API_FUNC_H__
7 #define _PG_API_FUNC_H__
15 #endif /* __cplusplus */
16 /* Internal flags for catalog functions */
17 #define PODBC_NOT_SEARCH_PATTERN 1L
18 #define PODBC_SEARCH_PUBLIC_SCHEMA (1L << 1)
19 #define PODBC_SEARCH_BY_IDS (1L << 2)
20 /* Internal flags for PGAPI_Exec... functions */
21 #define PODBC_WITH_HOLD 1L
22 #define PODBC_PER_STATEMENT_ROLLBACK (1L << 1)
23 /* Flags for the error handling */
24 #define PODBC_ALLOW_PARTIAL_EXTRACT 1L
25 #define PODBC_ERROR_CLEAR (1L << 1)
27 RETCODE SQL_API
PGAPI_AllocConnect(HENV EnvironmentHandle
,
28 HDBC FAR
* ConnectionHandle
);
29 RETCODE SQL_API
PGAPI_AllocEnv(HENV FAR
* EnvironmentHandle
);
30 RETCODE SQL_API
PGAPI_AllocStmt(HDBC ConnectionHandle
,
31 HSTMT
*StatementHandle
);
32 RETCODE SQL_API
PGAPI_BindCol(HSTMT StatementHandle
,
33 SQLUSMALLINT ColumnNumber
, SQLSMALLINT TargetType
,
34 PTR TargetValue
, SQLLEN BufferLength
,
35 SQLLEN
*StrLen_or_Ind
);
36 RETCODE SQL_API
PGAPI_Cancel(HSTMT StatementHandle
);
37 RETCODE SQL_API
PGAPI_Columns(HSTMT StatementHandle
,
38 const SQLCHAR
*CatalogName
, SQLSMALLINT NameLength1
,
39 const SQLCHAR
*SchemaName
, SQLSMALLINT NameLength2
,
40 const SQLCHAR
*TableName
, SQLSMALLINT NameLength3
,
41 const SQLCHAR
*ColumnName
, SQLSMALLINT NameLength4
,
45 RETCODE SQL_API
PGAPI_Connect(HDBC ConnectionHandle
,
46 const SQLCHAR
*ServerName
, SQLSMALLINT NameLength1
,
47 const SQLCHAR
*UserName
, SQLSMALLINT NameLength2
,
48 const SQLCHAR
*Authentication
, SQLSMALLINT NameLength3
);
49 RETCODE SQL_API
PGAPI_DriverConnect(HDBC hdbc
, HWND hwnd
,
50 const SQLCHAR FAR
* szConnStrIn
, SQLSMALLINT cbConnStrIn
,
51 SQLCHAR FAR
* szConnStrOut
, SQLSMALLINT cbConnStrOutMax
,
52 SQLSMALLINT FAR
* pcbConnStrOut
, SQLUSMALLINT fDriverCompletion
);
53 RETCODE SQL_API
PGAPI_BrowseConnect(HDBC hdbc
,
54 const SQLCHAR
*szConnStrIn
, SQLSMALLINT cbConnStrIn
,
55 SQLCHAR
*szConnStrOut
, SQLSMALLINT cbConnStrOutMax
,
56 SQLSMALLINT
*pcbConnStrOut
);
57 RETCODE SQL_API
PGAPI_DataSources(HENV EnvironmentHandle
,
58 SQLUSMALLINT Direction
, const SQLCHAR
*ServerName
,
59 SQLSMALLINT BufferLength1
, SQLSMALLINT
*NameLength1
,
60 const SQLCHAR
*Description
, SQLSMALLINT BufferLength2
,
61 SQLSMALLINT
*NameLength2
);
62 RETCODE SQL_API
PGAPI_DescribeCol(HSTMT StatementHandle
,
63 SQLUSMALLINT ColumnNumber
, SQLCHAR
*ColumnName
,
64 SQLSMALLINT BufferLength
, SQLSMALLINT
*NameLength
,
65 SQLSMALLINT
*DataType
, SQLULEN
*ColumnSize
,
66 SQLSMALLINT
*DecimalDigits
, SQLSMALLINT
*Nullable
);
67 RETCODE SQL_API
PGAPI_Disconnect(HDBC ConnectionHandle
);
68 RETCODE SQL_API
PGAPI_Error(HENV EnvironmentHandle
,
69 HDBC ConnectionHandle
, HSTMT StatementHandle
,
70 SQLCHAR
*Sqlstate
, SQLINTEGER
*NativeError
,
71 SQLCHAR
*MessageText
, SQLSMALLINT BufferLength
,
72 SQLSMALLINT
*TextLength
);
73 /* Helper functions for Error handling */
74 RETCODE SQL_API
PGAPI_EnvError(HENV EnvironmentHandle
, SQLSMALLINT RecNumber
,
75 SQLCHAR
*Sqlstate
, SQLINTEGER
*NativeError
,
76 SQLCHAR
*MessageText
, SQLSMALLINT BufferLength
,
77 SQLSMALLINT
*TextLength
, UWORD flag
);
78 RETCODE SQL_API
PGAPI_ConnectError(HDBC ConnectionHandle
, SQLSMALLINT RecNumber
,
79 SQLCHAR
*Sqlstate
, SQLINTEGER
*NativeError
,
80 SQLCHAR
*MessageText
, SQLSMALLINT BufferLength
,
81 SQLSMALLINT
*TextLength
, UWORD flag
);
82 RETCODE SQL_API
PGAPI_StmtError(HSTMT StatementHandle
, SQLSMALLINT RecNumber
,
83 SQLCHAR
*Sqlstate
, SQLINTEGER
*NativeError
,
84 SQLCHAR
*MessageText
, SQLSMALLINT BufferLength
,
85 SQLSMALLINT
*TextLength
, UWORD flag
);
87 RETCODE SQL_API
PGAPI_ExecDirect(HSTMT StatementHandle
,
88 const SQLCHAR
*StatementText
, SQLINTEGER TextLength
, UWORD flag
);
89 RETCODE SQL_API
PGAPI_ExecDirect_Vx(HSTMT StatementHandle
,
90 const SQLCHAR
*StatementText
, SQLINTEGER TextLength
, UWORD flag
);
91 RETCODE SQL_API
PGAPI_Execute(HSTMT StatementHandle
, UWORD flag
);
92 RETCODE SQL_API
PGAPI_Execute_Vx(HSTMT StatementHandle
, UWORD flag
);
93 RETCODE SQL_API
PGAPI_Fetch(HSTMT StatementHandle
);
94 RETCODE SQL_API
PGAPI_FreeConnect(HDBC ConnectionHandle
);
95 RETCODE SQL_API
PGAPI_FreeEnv(HENV EnvironmentHandle
);
96 RETCODE SQL_API
PGAPI_FreeStmt(HSTMT StatementHandle
,
98 RETCODE SQL_API
PGAPI_GetConnectOption(HDBC ConnectionHandle
,
99 SQLUSMALLINT Option
, PTR Value
,
100 SQLINTEGER
*StringLength
, SQLINTEGER BufferLength
);
101 RETCODE SQL_API
PGAPI_GetCursorName(HSTMT StatementHandle
,
102 SQLCHAR
*CursorName
, SQLSMALLINT BufferLength
,
103 SQLSMALLINT
*NameLength
);
104 RETCODE SQL_API
PGAPI_GetData(HSTMT StatementHandle
,
105 SQLUSMALLINT ColumnNumber
, SQLSMALLINT TargetType
,
106 PTR TargetValue
, SQLLEN BufferLength
,
107 SQLLEN
*StrLen_or_Ind
);
108 RETCODE SQL_API
PGAPI_GetFunctions(HDBC ConnectionHandle
,
109 SQLUSMALLINT FunctionId
, SQLUSMALLINT
*Supported
);
110 RETCODE SQL_API
PGAPI_GetFunctions30(HDBC ConnectionHandle
,
111 SQLUSMALLINT FunctionId
, SQLUSMALLINT
*Supported
);
112 RETCODE SQL_API
PGAPI_GetInfo(HDBC ConnectionHandle
,
113 SQLUSMALLINT InfoType
, PTR InfoValue
,
114 SQLSMALLINT BufferLength
, SQLSMALLINT
*StringLength
);
115 RETCODE SQL_API
PGAPI_GetInfo30(HDBC ConnectionHandle
,
116 SQLUSMALLINT InfoType
, PTR InfoValue
,
117 SQLSMALLINT BufferLength
, SQLSMALLINT
*StringLength
);
118 RETCODE SQL_API
PGAPI_GetStmtOption(HSTMT StatementHandle
,
119 SQLUSMALLINT Option
, PTR Value
,
120 SQLINTEGER
*StringLength
, SQLINTEGER BufferLength
);
121 RETCODE SQL_API
PGAPI_GetTypeInfo(HSTMT StatementHandle
,
122 SQLSMALLINT DataType
);
123 RETCODE SQL_API
PGAPI_NumResultCols(HSTMT StatementHandle
,
124 SQLSMALLINT
*ColumnCount
);
125 RETCODE SQL_API
PGAPI_ParamData(HSTMT StatementHandle
,
127 RETCODE SQL_API
PGAPI_Prepare(HSTMT StatementHandle
,
128 const SQLCHAR
*StatementText
, SQLINTEGER TextLength
);
129 RETCODE SQL_API
PGAPI_PutData(HSTMT StatementHandle
,
130 PTR Data
, SQLLEN StrLen_or_Ind
);
131 RETCODE SQL_API
PGAPI_RowCount(HSTMT StatementHandle
,
133 RETCODE SQL_API
PGAPI_SetConnectOption(HDBC ConnectionHandle
,
134 SQLUSMALLINT Option
, SQLULEN Value
);
135 RETCODE SQL_API
PGAPI_SetCursorName(HSTMT StatementHandle
,
136 const SQLCHAR
*CursorName
, SQLSMALLINT NameLength
);
137 RETCODE SQL_API
PGAPI_SetParam(HSTMT StatementHandle
,
138 SQLUSMALLINT ParameterNumber
, SQLSMALLINT ValueType
,
139 SQLSMALLINT ParameterType
, SQLULEN LengthPrecision
,
140 SQLSMALLINT ParameterScale
, PTR ParameterValue
,
141 SQLLEN
*StrLen_or_Ind
);
142 RETCODE SQL_API
PGAPI_SetStmtOption(HSTMT StatementHandle
,
143 SQLUSMALLINT Option
, SQLULEN Value
);
144 RETCODE SQL_API
PGAPI_SpecialColumns(HSTMT StatementHandle
,
145 SQLUSMALLINT IdentifierType
, const SQLCHAR
*CatalogName
,
146 SQLSMALLINT NameLength1
, const SQLCHAR
*SchemaName
,
147 SQLSMALLINT NameLength2
, const SQLCHAR
*TableName
,
148 SQLSMALLINT NameLength3
, SQLUSMALLINT Scope
,
149 SQLUSMALLINT Nullable
);
150 RETCODE SQL_API
PGAPI_Statistics(HSTMT StatementHandle
,
151 const SQLCHAR
*CatalogName
, SQLSMALLINT NameLength1
,
152 const SQLCHAR
*SchemaName
, SQLSMALLINT NameLength2
,
153 const SQLCHAR
*TableName
, SQLSMALLINT NameLength3
,
154 SQLUSMALLINT Unique
, SQLUSMALLINT Reserved
);
155 RETCODE SQL_API
PGAPI_Tables(HSTMT StatementHandle
,
156 const SQLCHAR
*CatalogName
, SQLSMALLINT NameLength1
,
157 const SQLCHAR
*SchemaName
, SQLSMALLINT NameLength2
,
158 const SQLCHAR
*TableName
, SQLSMALLINT NameLength3
,
159 const SQLCHAR
*TableType
, SQLSMALLINT NameLength4
,
161 RETCODE SQL_API
PGAPI_Transact(HENV EnvironmentHandle
,
162 HDBC ConnectionHandle
, SQLUSMALLINT CompletionType
);
163 RETCODE SQL_API
PGAPI_ColAttributes(
166 SQLUSMALLINT fDescType
,
168 SQLSMALLINT cbDescMax
,
169 SQLSMALLINT
*pcbDesc
,
171 RETCODE SQL_API
PGAPI_ColumnPrivileges(
173 const SQLCHAR
*szCatalogName
,
174 SQLSMALLINT cbCatalogName
,
175 const SQLCHAR
*szSchemaName
,
176 SQLSMALLINT cbSchemaName
,
177 const SQLCHAR
*szTableName
,
178 SQLSMALLINT cbTableName
,
179 const SQLCHAR
*szColumnName
,
180 SQLSMALLINT cbColumnName
,
182 RETCODE SQL_API
PGAPI_DescribeParam(
185 SQLSMALLINT
*pfSqlType
,
186 SQLULEN
*pcbParamDef
,
187 SQLSMALLINT
*pibScale
,
188 SQLSMALLINT
*pfNullable
);
189 RETCODE SQL_API
PGAPI_ExtendedFetch(
191 SQLUSMALLINT fFetchType
,
194 SQLUSMALLINT
*rgfRowStatus
,
197 RETCODE SQL_API
PGAPI_ForeignKeys(
199 const SQLCHAR
*szPkCatalogName
,
200 SQLSMALLINT cbPkCatalogName
,
201 const SQLCHAR
*szPkSchemaName
,
202 SQLSMALLINT cbPkSchemaName
,
203 const SQLCHAR
*szPkTableName
,
204 SQLSMALLINT cbPkTableName
,
205 const SQLCHAR
*szFkCatalogName
,
206 SQLSMALLINT cbFkCatalogName
,
207 const SQLCHAR
*szFkSchemaName
,
208 SQLSMALLINT cbFkSchemaName
,
209 const SQLCHAR
*szFkTableName
,
210 SQLSMALLINT cbFkTableName
);
211 RETCODE SQL_API
PGAPI_MoreResults(
213 RETCODE SQL_API
PGAPI_NativeSql(
215 const SQLCHAR
*szSqlStrIn
,
216 SQLINTEGER cbSqlStrIn
,
218 SQLINTEGER cbSqlStrMax
,
219 SQLINTEGER
*pcbSqlStr
);
220 RETCODE SQL_API
PGAPI_NumParams(
223 RETCODE SQL_API
PGAPI_ParamOptions(
227 RETCODE SQL_API
PGAPI_PrimaryKeys(
229 const SQLCHAR
*szCatalogName
,
230 SQLSMALLINT cbCatalogName
,
231 const SQLCHAR
*szSchemaName
,
232 SQLSMALLINT cbSchemaName
,
233 const SQLCHAR
*szTableName
,
234 SQLSMALLINT cbTableName
);
235 RETCODE SQL_API
PGAPI_ProcedureColumns(
237 const SQLCHAR
*szCatalogName
,
238 SQLSMALLINT cbCatalogName
,
239 const SQLCHAR
*szSchemaName
,
240 SQLSMALLINT cbSchemaName
,
241 const SQLCHAR
*szProcName
,
242 SQLSMALLINT cbProcName
,
243 const SQLCHAR
*szColumnName
,
244 SQLSMALLINT cbColumnName
,
246 RETCODE SQL_API
PGAPI_Procedures(
248 const SQLCHAR
*szCatalogName
,
249 SQLSMALLINT cbCatalogName
,
250 const SQLCHAR
*szSchemaName
,
251 SQLSMALLINT cbSchemaName
,
252 const SQLCHAR
*szProcName
,
253 SQLSMALLINT cbProcName
,
255 RETCODE SQL_API
PGAPI_SetPos(
258 SQLUSMALLINT fOption
,
260 RETCODE SQL_API
PGAPI_TablePrivileges(
262 const SQLCHAR
*szCatalogName
,
263 SQLSMALLINT cbCatalogName
,
264 const SQLCHAR
*szSchemaName
,
265 SQLSMALLINT cbSchemaName
,
266 const SQLCHAR
*szTableName
,
267 SQLSMALLINT cbTableName
,
269 RETCODE SQL_API
PGAPI_BindParameter(
272 SQLSMALLINT fParamType
,
274 SQLSMALLINT fSqlType
,
280 RETCODE SQL_API
PGAPI_SetScrollOptions(
282 SQLUSMALLINT fConcurrency
,
284 SQLUSMALLINT crowRowset
);
286 RETCODE SQL_API
PGAPI_GetDiagRec(SQLSMALLINT HandleType
, SQLHANDLE Handle
,
287 SQLSMALLINT RecNumber
, SQLCHAR
*Sqlstate
,
288 SQLINTEGER
*NativeError
, SQLCHAR
*MessageText
,
289 SQLSMALLINT BufferLength
, SQLSMALLINT
*TextLength
);
290 RETCODE SQL_API
PGAPI_GetDiagField(SQLSMALLINT HandleType
, SQLHANDLE Handle
,
291 SQLSMALLINT RecNumber
, SQLSMALLINT DiagIdentifier
,
292 PTR DiagInfoPtr
, SQLSMALLINT BufferLength
,
293 SQLSMALLINT
*StringLengthPtr
);
294 RETCODE SQL_API
PGAPI_GetConnectAttr(HDBC ConnectionHandle
,
295 SQLINTEGER Attribute
, PTR Value
,
296 SQLINTEGER BufferLength
, SQLINTEGER
*StringLength
);
297 RETCODE SQL_API
PGAPI_GetStmtAttr(HSTMT StatementHandle
,
298 SQLINTEGER Attribute
, PTR Value
,
299 SQLINTEGER BufferLength
, SQLINTEGER
*StringLength
);
300 RETCODE SQL_API
PGAPI_SetConnectAttr(HDBC ConnectionHandle
,
301 SQLINTEGER Attribute
, PTR Value
,
302 SQLINTEGER StringLength
);
303 RETCODE SQL_API
PGAPI_SetStmtAttr(HSTMT StatementHandle
,
304 SQLINTEGER Attribute
, PTR Value
,
305 SQLINTEGER StringLength
);
306 RETCODE SQL_API
PGAPI_BulkOperations(HSTMT StatementHandle
,
307 SQLSMALLINT operation
);
308 RETCODE SQL_API
PGAPI_AllocDesc(HDBC ConnectionHandle
,
309 SQLHDESC
*DescriptorHandle
);
310 RETCODE SQL_API
PGAPI_FreeDesc(SQLHDESC DescriptorHandle
);
311 RETCODE SQL_API
PGAPI_CopyDesc(SQLHDESC SourceDescHandle
,
312 SQLHDESC TargetDescHandle
);
313 RETCODE SQL_API
PGAPI_SetDescField(SQLHDESC DescriptorHandle
,
314 SQLSMALLINT RecNumber
, SQLSMALLINT FieldIdentifier
,
315 PTR Value
, SQLINTEGER BufferLength
);
316 RETCODE SQL_API
PGAPI_GetDescField(SQLHDESC DescriptorHandle
,
317 SQLSMALLINT RecNumber
, SQLSMALLINT FieldIdentifier
,
318 PTR Value
, SQLINTEGER BufferLength
, SQLINTEGER
*StringLength
);
319 RETCODE SQL_API
PGAPI_DescError(SQLHDESC DescriptorHandle
, SQLSMALLINT RecNumber
,
320 SQLCHAR
*Sqlstate
, SQLINTEGER
*NativeError
,
321 SQLCHAR
*MessageText
, SQLSMALLINT BufferLength
,
322 SQLSMALLINT
*TextLength
, UWORD flag
);
326 #endif /* __cplusplus */
327 #endif /* define_PG_API_FUNC_H__ */