SQL Relay C++ API
sqlrclient.h
1// Copyright (c) David Muse
2// See the file COPYING for more information.
3
4#ifndef SQLRCLIENT_H
5#define SQLRCLIENT_H
6
7#include <sqlrelay/private/sqlrclientincludes.h>
8
9class SQLRCLIENT_DLLSPEC sqlrconnection : public object {
10 public:
28 sqlrconnection(const char *server, uint16_t port,
29 const char *socket,
30 const char *user, const char *password,
31 int32_t retrytime, int32_t tries);
32
33
37
38
39
44 void setConnectTimeout(int32_t timeoutsec,
45 int32_t timeoutusec);
46
49 void getConnectTimeout(int32_t *timeoutsec,
50 int32_t *timeoutusec);
51
54
57
63 void setResponseTimeout(int32_t timeoutsec,
64 int32_t timeoutusec);
65
68 void getResponseTimeout(int32_t *timeoutsec,
69 int32_t *timeoutusec);
70
73
76
77
78
82 void setBindVariableDelimiters(const char *delimiters);
83
87
91
95
99
100
101
137 void enableKerberos(const char *service,
138 const char *mech,
139 const char *flags);
140
210 void enableTls(const char *version,
211 const char *cert,
212 const char *password,
213 const char *ciphers,
214 const char *validate,
215 const char *ca,
216 uint16_t depth);
217
220
221
222
225
231
239
246 const char *getConnectionSocket();
247
251 bool resumeSession(uint16_t port, const char *socket);
252
253
254
257 bool ping();
258
261 const char *identify();
262
264 const char *dbVersion();
265
267 const char *dbHostName();
268
270 const char *dbIpAddress();
271
273 const char *serverVersion();
274
276 const char *clientVersion();
277
289 const char *bindFormat();
290
302 const char *nextvalFormat();
303
304
305
313 bool selectDatabase(const char *database);
314
322 const char *getCurrentDatabase();
323
328
330 bool selectCatalog(const char *catalog);
331
333 const char *getCurrentCatalog();
334
336 bool selectSchema(const char *schema);
337
339 const char *getCurrentSchema();
340
344 const char *getCurrentUser();
345
346
347
350 uint64_t getLastInsertId();
351
352
353
357
361
365
366
367
374 bool begin();
375
378 bool commit();
379
382 bool rollback();
383
387
388
389
394
424 bool setTransactionModel(const char *txmodel);
425
429 const char *getTransactionModel();
430
431
432
436
514 bool setIsolationLevel(const char *isolationlevel);
515
519 const char *getIsolationLevel();
520
521
522
802 const char *getDatabaseFeature(const char *feature);
803
804
805
810 void setClientInfo(const char *clientinfo);
811
813 const char *getClientInfo();
814
815
816
821 const char *errorMessage();
822
827 int64_t errorNumber();
828
829
830
836 void debugOn();
837
839 void debugOff();
840
843 bool getDebug();
844
849 void debugPrintFunction(int (*printfunction)
850 (const char *,...));
851
855 void setDebugFile(const char *filename);
856
857 #include <sqlrelay/private/sqlrconnection.h>
858};
859
860
861class SQLRCLIENT_DLLSPEC sqlrcursor : public object {
862 public:
866
870
871
872
876 void setResultSetBufferSize(uint64_t rows);
877
882
883
884
890
893
894
899
902
905
906
907
920 void cacheToFile(const char *filename);
921
927 void setCacheTtl(uint32_t ttl);
928
931 const char *getCacheFileName();
932
934 void cacheOff();
935
936
937
956 bool getDatabaseList(const char *databases);
957
970 bool getCatalogList(const char *catalog);
971
987 bool getSchemaList(const char *schemas);
988
998
1011 bool getTableList(const char *tables);
1012
1044 bool getTypeInfoList(const char *type);
1045
1066 bool getColumnList(const char *table, const char *columns);
1067
1092 bool getPrimaryKeysList(const char *table,
1093 const char *columns);
1094
1120 bool getKeyAndIndexList(const char *table,
1121 const char *qualifier);
1122
1139 bool getProcedureList(const char *procedures);
1140
1158 bool getProcedureParameterList(const char *procedure,
1159 const char *parameters);
1160
1161
1162
1164 bool sendQuery(const char *query);
1165
1169 bool sendQuery(const char *query, uint32_t length);
1170
1173 bool sendFileQuery(const char *path, const char *filename);
1174
1175
1176
1178 void prepareQuery(const char *query);
1179
1183 void prepareQuery(const char *query, uint32_t length);
1184
1188 bool prepareFileQuery(const char *path,
1189 const char *filename);
1190
1191
1192
1194 void substitution(const char *variable, const char *value);
1195
1197 void substitution(const char *variable, int64_t value);
1198
1200 void substitution(const char *variable, double value,
1201 uint32_t precision,
1202 uint32_t scale);
1203
1205 void substitutions(const char **variables,
1206 const char **values);
1207
1209 void substitutions(const char **variables,
1210 const int64_t *values);
1211
1213 void substitutions(const char **variables,
1214 const double *values,
1215 const uint32_t *precisions,
1216 const uint32_t *scales);
1217
1218
1219
1221 void inputBind(const char *variable, const char *value);
1222
1224 void inputBind(const char *variable, const char *value,
1225 uint32_t valuelength);
1226
1228 void inputBind(const char *variable, int64_t value);
1229
1235 void inputBind(const char *variable, double value,
1236 uint32_t precision,
1237 uint32_t scale);
1238
1261 void inputBind(const char *variable,
1262 int16_t year, int16_t month, int16_t day,
1263 int16_t hour, int16_t minute, int16_t second,
1264 int32_t microsecond, const char *tz,
1265 bool isnegative);
1266
1268 void inputBindBlob(const char *variable,
1269 const char *value,
1270 uint32_t size);
1271
1273 void inputBindClob(const char *variable,
1274 const char *value,
1275 uint32_t size);
1276
1278 void inputBinds(const char **variables, const char **values);
1279
1281 void inputBinds(const char **variables,
1282 const int64_t *values);
1283
1285 void inputBinds(const char **variables,
1286 const double *values,
1287 const uint32_t *precisions,
1288 const uint32_t *scales);
1289
1290
1291
1295 void defineOutputBindString(const char *variable,
1296 uint32_t bufferlength);
1297
1299 void defineOutputBindInteger(const char *variable);
1300
1302 void defineOutputBindDouble(const char *variable);
1303
1305 void defineOutputBindDate(const char *variable);
1306
1308 void defineOutputBindBlob(const char *variable);
1309
1311 void defineOutputBindClob(const char *variable);
1312
1314 void defineOutputBindCursor(const char *variable);
1315
1316
1317
1320
1325
1333
1336 bool validBind(const char *variable);
1337
1338
1339
1343
1347
1348
1349
1352 const char *getOutputBindString(const char *variable);
1353
1356 int64_t getOutputBindInteger(const char *variable);
1357
1360 double getOutputBindDouble(const char *variable);
1361
1364 bool getOutputBindDate(const char *variable,
1365 int16_t *year,
1366 int16_t *month,
1367 int16_t *day,
1368 int16_t *hour,
1369 int16_t *minute,
1370 int16_t *second,
1371 int32_t *microsecond,
1372 const char **tz,
1373 bool *isnegative);
1374
1377 int16_t getOutputBindDateYear(const char *variable);
1378
1381 int16_t getOutputBindDateMonth(const char *variable);
1382
1385 int16_t getOutputBindDateDay(const char *variable);
1386
1389 int16_t getOutputBindDateHour(const char *variable);
1390
1393 int16_t getOutputBindDateMinute(const char *variable);
1394
1397 int16_t getOutputBindDateSecond(const char *variable);
1398
1402 const char *variable);
1403
1406 const char *getOutputBindDateTz(const char *variable);
1407
1411 const char *variable);
1412
1415 const char *getOutputBindBlob(const char *variable);
1416
1419 const char *getOutputBindClob(const char *variable);
1420
1423 uint32_t getOutputBindLength(const char *variable);
1424
1427 sqlrcursor *getOutputBindCursor(const char *variable);
1428
1429
1430
1433 bool openCachedResultSet(const char *filename);
1434
1435
1436
1439 uint32_t colCount();
1440
1445 uint64_t rowCount();
1446
1453 uint64_t totalRows();
1454
1462 uint64_t affectedRows();
1463
1467 uint64_t firstRowIndex();
1468
1475
1476
1477
1482 const char *errorMessage();
1483
1488 int64_t errorNumber();
1489
1490
1491
1496
1501
1502
1503
1505 const char *getField(uint64_t row, uint32_t col);
1506
1508 const char *getField(uint64_t row, const char *col);
1509
1513 uint64_t row, const char *col);
1514
1516 int64_t getFieldAsInteger(uint64_t row, uint32_t col);
1517
1519 int64_t getFieldAsInteger(uint64_t row, const char *col);
1520
1524 uint64_t row, const char *col);
1525
1527 double getFieldAsDouble(uint64_t row, uint32_t col);
1528
1530 double getFieldAsDouble(uint64_t row, const char *col);
1531
1535 uint64_t row, const char *col);
1536
1538 bool getFieldAsBoolean(uint64_t row, uint32_t col);
1539
1541 bool getFieldAsBoolean(uint64_t row, const char *col);
1542
1546 uint64_t row, const char *col);
1547
1553 bool getFieldAsDate(uint64_t row, uint32_t col,
1554 int16_t *year, int16_t *month,
1555 int16_t *day, int16_t *hour,
1556 int16_t *minute, int16_t *second,
1557 int32_t *microsecond,
1558 bool *isnegative);
1559
1582 bool getFieldAsDate(uint64_t row, uint32_t col,
1583 bool ddmm, bool yyyyddmm,
1584 const char *datedelimiters,
1585 int16_t *year, int16_t *month,
1586 int16_t *day, int16_t *hour,
1587 int16_t *minute, int16_t *second,
1588 int32_t *microsecond,
1589 bool *isnegative);
1590
1596 bool getFieldAsDate(uint64_t row, const char *col,
1597 int16_t *year, int16_t *month,
1598 int16_t *day, int16_t *hour,
1599 int16_t *minute, int16_t *second,
1600 int32_t *microsecond,
1601 bool *isnegative);
1602
1610 uint64_t row, const char *col,
1611 int16_t *year, int16_t *month,
1612 int16_t *day, int16_t *hour,
1613 int16_t *minute, int16_t *second,
1614 int32_t *microsecond,
1615 bool *isnegative);
1616
1639 bool getFieldAsDate(uint64_t row, const char *col,
1640 bool ddmm, bool yyyyddmm,
1641 const char *datedelimiters,
1642 int16_t *year, int16_t *month,
1643 int16_t *day, int16_t *hour,
1644 int16_t *minute, int16_t *second,
1645 int32_t *microsecond,
1646 bool *isnegative);
1647
1672 uint64_t row, const char *col,
1673 bool ddmm, bool yyyyddmm,
1674 const char *datedelimiters,
1675 int16_t *year, int16_t *month,
1676 int16_t *day, int16_t *hour,
1677 int16_t *minute, int16_t *second,
1678 int32_t *microsecond,
1679 bool *isnegative);
1680
1683 int16_t getFieldAsDateYear(uint64_t row, uint32_t col);
1684
1704 int16_t getFieldAsDateYear(uint64_t row, uint32_t col,
1705 bool ddmm, bool yyyyddmm,
1706 const char *datedelimiters);
1707
1710 int16_t getFieldAsDateYear(uint64_t row,
1711 const char *col);
1712
1717 uint64_t row,
1718 const char *col);
1719
1739 int16_t getFieldAsDateYear(uint64_t row,
1740 const char *col,
1741 bool ddmm, bool yyyyddmm,
1742 const char *datedelimiters);
1743
1765 uint64_t row,
1766 const char *col,
1767 bool ddmm, bool yyyyddmm,
1768 const char *datedelimiters);
1769
1772 int16_t getFieldAsDateMonth(uint64_t row, uint32_t col);
1773
1793 int16_t getFieldAsDateMonth(uint64_t row, uint32_t col,
1794 bool ddmm, bool yyyyddmm,
1795 const char *datedelimiters);
1796
1799 int16_t getFieldAsDateMonth(uint64_t row,
1800 const char *col);
1801
1806 uint64_t row,
1807 const char *col);
1808
1828 int16_t getFieldAsDateMonth(uint64_t row,
1829 const char *col,
1830 bool ddmm, bool yyyyddmm,
1831 const char *datedelimiters);
1832
1854 uint64_t row,
1855 const char *col,
1856 bool ddmm, bool yyyyddmm,
1857 const char *datedelimiters);
1858
1861 int16_t getFieldAsDateDay(uint64_t row, uint32_t col);
1862
1882 int16_t getFieldAsDateDay(uint64_t row, uint32_t col,
1883 bool ddmm, bool yyyyddmm,
1884 const char *datedelimiters);
1885
1888 int16_t getFieldAsDateDay(uint64_t row,
1889 const char *col);
1890
1895 uint64_t row,
1896 const char *col);
1897
1917 int16_t getFieldAsDateDay(uint64_t row,
1918 const char *col,
1919 bool ddmm, bool yyyyddmm,
1920 const char *datedelimiters);
1921
1943 uint64_t row,
1944 const char *col,
1945 bool ddmm, bool yyyyddmm,
1946 const char *datedelimiters);
1947
1950 int16_t getFieldAsDateHour(uint64_t row, uint32_t col);
1951
1971 int16_t getFieldAsDateHour(uint64_t row, uint32_t col,
1972 bool ddmm, bool yyyyddmm,
1973 const char *datedelimiters);
1974
1977 int16_t getFieldAsDateHour(uint64_t row,
1978 const char *col);
1979
1984 uint64_t row,
1985 const char *col);
1986
2006 int16_t getFieldAsDateHour(uint64_t row,
2007 const char *col,
2008 bool ddmm, bool yyyyddmm,
2009 const char *datedelimiters);
2010
2032 uint64_t row,
2033 const char *col,
2034 bool ddmm, bool yyyyddmm,
2035 const char *datedelimiters);
2036
2039 int16_t getFieldAsDateMinute(uint64_t row, uint32_t col);
2040
2060 int16_t getFieldAsDateMinute(uint64_t row, uint32_t col,
2061 bool ddmm, bool yyyyddmm,
2062 const char *datedelimiters);
2063
2066 int16_t getFieldAsDateMinute(uint64_t row,
2067 const char *col);
2068
2073 uint64_t row,
2074 const char *col);
2075
2095 int16_t getFieldAsDateMinute(uint64_t row,
2096 const char *col,
2097 bool ddmm, bool yyyyddmm,
2098 const char *datedelimiters);
2099
2121 uint64_t row,
2122 const char *col,
2123 bool ddmm, bool yyyyddmm,
2124 const char *datedelimiters);
2125
2128 int16_t getFieldAsDateSecond(uint64_t row, uint32_t col);
2129
2149 int16_t getFieldAsDateSecond(uint64_t row, uint32_t col,
2150 bool ddmm, bool yyyyddmm,
2151 const char *datedelimiters);
2152
2155 int16_t getFieldAsDateSecond(uint64_t row,
2156 const char *col);
2157
2162 uint64_t row,
2163 const char *col);
2164
2184 int16_t getFieldAsDateSecond(uint64_t row,
2185 const char *col,
2186 bool ddmm, bool yyyyddmm,
2187 const char *datedelimiters);
2188
2210 uint64_t row,
2211 const char *col,
2212 bool ddmm, bool yyyyddmm,
2213 const char *datedelimiters);
2214
2217 int32_t getFieldAsDateMicrosecond(uint64_t row,
2218 uint32_t col);
2219
2239 int32_t getFieldAsDateMicrosecond(uint64_t row,
2240 uint32_t col,
2241 bool ddmm, bool yyyyddmm,
2242 const char *datedelimiters);
2243
2246 int32_t getFieldAsDateMicrosecond(uint64_t row,
2247 const char *col);
2248
2253 uint64_t row,
2254 const char *col);
2255
2275 int32_t getFieldAsDateMicrosecond(uint64_t row,
2276 const char *col,
2277 bool ddmm, bool yyyyddmm,
2278 const char *datedelimiters);
2279
2301 uint64_t row,
2302 const char *col,
2303 bool ddmm, bool yyyyddmm,
2304 const char *datedelimiters);
2305
2309 bool getFieldAsDateIsNegative(uint64_t row,
2310 uint32_t col);
2311
2332 bool getFieldAsDateIsNegative(uint64_t row,
2333 uint32_t col,
2334 bool ddmm, bool yyyyddmm,
2335 const char *datedelimiters);
2336
2340 bool getFieldAsDateIsNegative(uint64_t row,
2341 const char *col);
2342
2347 uint64_t row,
2348 const char *col);
2349
2370 bool getFieldAsDateIsNegative(uint64_t row,
2371 const char *col,
2372 bool ddmm, bool yyyyddmm,
2373 const char *datedelimiters);
2374
2396 uint64_t row,
2397 const char *col,
2398 bool ddmm, bool yyyyddmm,
2399 const char *datedelimiters);
2400
2401
2402
2404 uint32_t getFieldLength(uint64_t row, uint32_t col);
2405
2407 uint32_t getFieldLength(uint64_t row, const char *col);
2408
2409
2410
2413 const char * const *getRow(uint64_t row);
2414
2417 uint32_t *getRowLengths(uint64_t row);
2418
2421 const char * const *getColumnNames();
2422
2424 const char *getColumnName(uint32_t col);
2425
2427 const char *getColumnType(uint32_t col);
2428
2430 const char *getColumnType(const char *col);
2431
2434 uint32_t getColumnLength(uint32_t col);
2435
2438 uint32_t getColumnLength(const char *col);
2439
2446 uint32_t getColumnPrecision(uint32_t col);
2447
2454 uint32_t getColumnPrecision(const char *col);
2455
2460 uint32_t getColumnScale(uint32_t col);
2461
2466 uint32_t getColumnScale(const char *col);
2467
2470 bool getColumnIsNullable(uint32_t col);
2471
2474 bool getColumnIsNullable(const char *col);
2475
2478 bool getColumnIsPrimaryKey(uint32_t col);
2479
2482 bool getColumnIsPrimaryKey(const char *col);
2483
2486 bool getColumnIsUnique(uint32_t col);
2487
2490 bool getColumnIsUnique(const char *col);
2491
2494 bool getColumnIsPartOfKey(uint32_t col);
2495
2498 bool getColumnIsPartOfKey(const char *col);
2499
2502 bool getColumnIsUnsigned(uint32_t col);
2503
2506 bool getColumnIsUnsigned(const char *col);
2507
2511 bool getColumnIsZeroFilled(uint32_t col);
2512
2516 bool getColumnIsZeroFilled(const char *col);
2517
2521 bool getColumnIsBinary(uint32_t col);
2522
2526 bool getColumnIsBinary(const char *col);
2527
2530 bool getColumnIsAutoIncrement(uint32_t col);
2531
2534 bool getColumnIsAutoIncrement(const char *col);
2535
2538 uint32_t getLongest(uint32_t col);
2539
2542 uint32_t getLongest(const char *col);
2543
2544
2545
2552
2559 uint16_t getResultSetId();
2560
2564 bool resumeResultSet(uint16_t id);
2565
2570 bool resumeCachedResultSet(uint16_t id,
2571 const char *filename);
2572
2573
2578
2579
2585
2586 #include <sqlrelay/private/sqlrcursor.h>
2587};
2588
2589#endif
Definition sqlrclient.h:9
const char * dbIpAddress()
bool autoCommitOff()
const char * getCurrentUser()
void getConnectTimeout(int32_t *timeoutsec, int32_t *timeoutusec)
const char * identify()
const char * getDefaultTransactionModel()
int32_t getConnectTimeoutSeconds()
bool getBindVariableDelimiterDollarSignSupported()
bool autoCommitOn()
int32_t getResponseTimeoutSeconds()
const char * bindFormat()
bool getBindVariableDelimiterColonSupported()
bool suspendSession()
bool getInTransaction()
void enableKerberos(const char *service, const char *mech, const char *flags)
const char * getIsolationLevel()
uint64_t getLastInsertId()
bool selectCatalog(const char *catalog)
const char * getCurrentDatabase()
const char * serverVersion()
void debugPrintFunction(int(*printfunction)(const char *,...))
void setDebugFile(const char *filename)
const char * dbVersion()
const char * getClientInfo()
void disableEncryption()
bool getDatabaseIsSchema()
bool selectDatabase(const char *database)
bool setTransactionModel(const char *txmodel)
bool getBindVariableDelimiterQuestionMarkSupported()
void enableTls(const char *version, const char *cert, const char *password, const char *ciphers, const char *validate, const char *ca, uint16_t depth)
sqlrconnection(const char *server, uint16_t port, const char *socket, const char *user, const char *password, int32_t retrytime, int32_t tries)
void setResponseTimeout(int32_t timeoutsec, int32_t timeoutusec)
const char * getCurrentSchema()
void getResponseTimeout(int32_t *timeoutsec, int32_t *timeoutusec)
bool setIsolationLevel(const char *isolationlevel)
const char * getCurrentCatalog()
const char * getTransactionModel()
void setClientInfo(const char *clientinfo)
const char * errorMessage()
int32_t getResponseTimeoutMicroseconds()
int64_t errorNumber()
bool selectSchema(const char *schema)
bool resumeSession(uint16_t port, const char *socket)
const char * nextvalFormat()
uint16_t getConnectionPort()
void setConnectTimeout(int32_t timeoutsec, int32_t timeoutusec)
const char * dbHostName()
bool getBindVariableDelimiterAtSignSupported()
const char * getDatabaseFeature(const char *feature)
bool getAutoCommit()
const char * getConnectionSocket()
const char * clientVersion()
void setBindVariableDelimiters(const char *delimiters)
int32_t getConnectTimeoutMicroseconds()
const char * getDefaultIsolationLevel()
Definition sqlrclient.h:861
bool fetchFromBindCursor()
const char * getColumnName(uint32_t col)
double getOutputBindDouble(const char *variable)
void upperCaseColumnNames()
const char * getCacheFileName()
void defineOutputBindClob(const char *variable)
void inputBind(const char *variable, const char *value)
const char * getField(uint64_t row, const char *col)
int16_t getFieldAsDateHour(uint64_t row, uint32_t col)
uint32_t getColumnPrecision(const char *col)
void substitution(const char *variable, const char *value)
bool getFieldAsDateIsNegativeIgnoringCase(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
void validateBinds()
bool getFieldAsDate(uint64_t row, uint32_t col, bool ddmm, bool yyyyddmm, const char *datedelimiters, int16_t *year, int16_t *month, int16_t *day, int16_t *hour, int16_t *minute, int16_t *second, int32_t *microsecond, bool *isnegative)
bool getFieldAsDateIgnoringCase(uint64_t row, const char *col, int16_t *year, int16_t *month, int16_t *day, int16_t *hour, int16_t *minute, int16_t *second, int32_t *microsecond, bool *isnegative)
void defineOutputBindDouble(const char *variable)
uint16_t countBindVariables()
bool getFieldAsDateIsNegative(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
int16_t getFieldAsDateDayIgnoringCase(uint64_t row, const char *col)
int32_t getOutputBindDateMicrosecond(const char *variable)
int16_t getFieldAsDateMinuteIgnoringCase(uint64_t row, const char *col)
int16_t getFieldAsDateMinute(uint64_t row, const char *col)
int16_t getOutputBindDateMinute(const char *variable)
const char * getFieldIgnoringCase(uint64_t row, const char *col)
void lowerCaseColumnNames()
int16_t getFieldAsDateSecond(uint64_t row, uint32_t col)
int16_t getFieldAsDateSecondIgnoringCase(uint64_t row, const char *col)
int16_t getFieldAsDateMinuteIgnoringCase(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
int16_t getOutputBindDateYear(const char *variable)
uint32_t getColumnLength(const char *col)
int16_t getFieldAsDateMonth(uint64_t row, const char *col)
uint32_t getColumnScale(const char *col)
int16_t getOutputBindDateDay(const char *variable)
bool getDatabaseList(const char *databases)
void defineOutputBindBlob(const char *variable)
int16_t getFieldAsDateYearIgnoringCase(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
int16_t getOutputBindDateHour(const char *variable)
const char * getOutputBindString(const char *variable)
double getFieldAsDoubleIgnoringCase(uint64_t row, const char *col)
const char * getOutputBindDateTz(const char *variable)
void suspendResultSet()
bool getFieldAsDateIsNegative(uint64_t row, uint32_t col)
void defineOutputBindDate(const char *variable)
double getFieldAsDouble(uint64_t row, const char *col)
int16_t getFieldAsDateMonth(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
bool getFieldAsDateIsNegative(uint64_t row, const char *col)
const char * errorMessage()
void substitutions(const char **variables, const double *values, const uint32_t *precisions, const uint32_t *scales)
bool getFieldAsDate(uint64_t row, const char *col, int16_t *year, int16_t *month, int16_t *day, int16_t *hour, int16_t *minute, int16_t *second, int32_t *microsecond, bool *isnegative)
void defineOutputBindCursor(const char *variable)
const char * getField(uint64_t row, uint32_t col)
const char * getOutputBindClob(const char *variable)
int64_t getFieldAsInteger(uint64_t row, uint32_t col)
int32_t getFieldAsDateMicrosecond(uint64_t row, uint32_t col)
bool getProcedureParameterList(const char *procedure, const char *parameters)
int16_t getFieldAsDateHourIgnoringCase(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
int16_t getFieldAsDateMonthIgnoringCase(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
void defineOutputBindString(const char *variable, uint32_t bufferlength)
int16_t getFieldAsDateDay(uint64_t row, const char *col)
int16_t getFieldAsDateMonthIgnoringCase(uint64_t row, const char *col)
uint32_t getFieldLength(uint64_t row, const char *col)
int16_t getFieldAsDateHour(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
uint32_t getColumnLength(uint32_t col)
void inputBind(const char *variable, int64_t value)
uint64_t rowCount()
const char *const * getRow(uint64_t row)
uint32_t getLongest(uint32_t col)
void cacheOff()
bool getColumnIsPartOfKey(const char *col)
int16_t getFieldAsDateHour(uint64_t row, uint32_t col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
bool endOfResultSet()
void inputBindBlob(const char *variable, const char *value, uint32_t size)
bool getColumnList(const char *table, const char *columns)
void setCacheTtl(uint32_t ttl)
bool getColumnIsUnique(const char *col)
int16_t getOutputBindDateMonth(const char *variable)
sqlrcursor * getOutputBindCursor(const char *variable)
int16_t getFieldAsDateHourIgnoringCase(uint64_t row, const char *col)
int16_t getFieldAsDateDay(uint64_t row, uint32_t col)
bool getKeyAndIndexList(const char *table, const char *qualifier)
bool sendQuery(const char *query)
int16_t getFieldAsDateHour(uint64_t row, const char *col)
uint64_t getResultSetBufferSize()
bool getColumnIsPrimaryKey(uint32_t col)
uint64_t totalRows()
int16_t getFieldAsDateSecond(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
const char * getOutputBindBlob(const char *variable)
int16_t getFieldAsDateYear(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
uint32_t colCount()
const char * getColumnType(uint32_t col)
bool getTableList(const char *tables)
int16_t getFieldAsDateSecondIgnoringCase(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
double getFieldAsDouble(uint64_t row, uint32_t col)
bool getColumnIsZeroFilled(const char *col)
int32_t getFieldAsDateMicrosecondIgnoringCase(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
void getNullsAsNulls()
int16_t getFieldAsDateDay(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
int32_t getFieldAsDateMicrosecondIgnoringCase(uint64_t row, const char *col)
int16_t getFieldAsDateDayIgnoringCase(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
void inputBindClob(const char *variable, const char *value, uint32_t size)
bool getFieldAsDateIsNegative(uint64_t row, uint32_t col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
void substitution(const char *variable, double value, uint32_t precision, uint32_t scale)
bool resumeCachedResultSet(uint16_t id, const char *filename)
bool getColumnIsPrimaryKey(const char *col)
bool getFieldAsBoolean(uint64_t row, const char *col)
bool getColumnIsBinary(uint32_t col)
void clearBinds()
bool getColumnIsAutoIncrement(const char *col)
bool getFieldAsDateIsNegativeIgnoringCase(uint64_t row, const char *col)
uint32_t getColumnPrecision(uint32_t col)
int16_t getOutputBindDateSecond(const char *variable)
bool getTableTypeList()
bool nextResultSet()
int16_t getFieldAsDateYear(uint64_t row, uint32_t col)
uint32_t getLongest(const char *col)
bool getTypeInfoList(const char *type)
void substitution(const char *variable, int64_t value)
int32_t getFieldAsDateMicrosecond(uint64_t row, uint32_t col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
int16_t getFieldAsDateDay(uint64_t row, uint32_t col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
bool getColumnIsBinary(const char *col)
int16_t getFieldAsDateMinute(uint64_t row, uint32_t col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
int16_t getFieldAsDateYear(uint64_t row, uint32_t col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
void prepareQuery(const char *query, uint32_t length)
bool getFieldAsDate(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters, int16_t *year, int16_t *month, int16_t *day, int16_t *hour, int16_t *minute, int16_t *second, int32_t *microsecond, bool *isnegative)
void inputBinds(const char **variables, const char **values)
uint32_t * getRowLengths(uint64_t row)
void inputBind(const char *variable, int16_t year, int16_t month, int16_t day, int16_t hour, int16_t minute, int16_t second, int32_t microsecond, const char *tz, bool isnegative)
uint16_t getResultSetId()
const char *const * getColumnNames()
bool getFieldAsDate(uint64_t row, uint32_t col, int16_t *year, int16_t *month, int16_t *day, int16_t *hour, int16_t *minute, int16_t *second, int32_t *microsecond, bool *isnegative)
bool getCatalogList(const char *catalog)
void getNullsAsEmptyStrings()
void dontGetColumnInfo()
int32_t getFieldAsDateMicrosecond(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
bool getSchemaList(const char *schemas)
bool executeQuery()
uint64_t affectedRows()
void mixedCaseColumnNames()
bool getColumnIsZeroFilled(uint32_t col)
void getColumnInfo()
void closeResultSet()
bool getPrimaryKeysList(const char *table, const char *columns)
void defineOutputBindInteger(const char *variable)
bool openCachedResultSet(const char *filename)
bool getFieldAsBooleanIgnoringCase(uint64_t row, const char *col)
bool sendQuery(const char *query, uint32_t length)
bool getColumnIsNullable(uint32_t col)
bool sendFileQuery(const char *path, const char *filename)
int64_t errorNumber()
void inputBind(const char *variable, double value, uint32_t precision, uint32_t scale)
int16_t getFieldAsDateSecond(uint64_t row, uint32_t col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
bool getFieldAsBoolean(uint64_t row, uint32_t col)
int16_t getFieldAsDateYearIgnoringCase(uint64_t row, const char *col)
int16_t getFieldAsDateMinute(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
void inputBind(const char *variable, const char *value, uint32_t valuelength)
void substitutions(const char **variables, const int64_t *values)
int32_t getFieldAsDateMicrosecond(uint64_t row, const char *col)
void setResultSetBufferSize(uint64_t rows)
int16_t getFieldAsDateYear(uint64_t row, const char *col)
void prepareQuery(const char *query)
const char * getColumnType(const char *col)
uint32_t getOutputBindLength(const char *variable)
bool getColumnIsNullable(const char *col)
bool getColumnIsPartOfKey(uint32_t col)
int16_t getFieldAsDateMonth(uint64_t row, uint32_t col, bool ddmm, bool yyyyddmm, const char *datedelimiters)
int16_t getFieldAsDateMinute(uint64_t row, uint32_t col)
int16_t getFieldAsDateSecond(uint64_t row, const char *col)
bool resumeResultSet(uint16_t id)
void inputBinds(const char **variables, const double *values, const uint32_t *precisions, const uint32_t *scales)
bool getColumnIsUnique(uint32_t col)
void inputBinds(const char **variables, const int64_t *values)
bool prepareFileQuery(const char *path, const char *filename)
void cacheToFile(const char *filename)
sqlrcursor(sqlrconnection *sqlrc)
bool getOutputBindDate(const char *variable, int16_t *year, int16_t *month, int16_t *day, int16_t *hour, int16_t *minute, int16_t *second, int32_t *microsecond, const char **tz, bool *isnegative)
bool getColumnIsUnsigned(uint32_t col)
int64_t getFieldAsInteger(uint64_t row, const char *col)
uint32_t getFieldLength(uint64_t row, uint32_t col)
int16_t getFieldAsDateMonth(uint64_t row, uint32_t col)
void substitutions(const char **variables, const char **values)
int64_t getFieldAsIntegerIgnoringCase(uint64_t row, const char *col)
bool getFieldAsDateIgnoringCase(uint64_t row, const char *col, bool ddmm, bool yyyyddmm, const char *datedelimiters, int16_t *year, int16_t *month, int16_t *day, int16_t *hour, int16_t *minute, int16_t *second, int32_t *microsecond, bool *isnegative)
int64_t getOutputBindInteger(const char *variable)
bool validBind(const char *variable)
bool getOutputBindDateIsNegative(const char *variable)
uint32_t getColumnScale(uint32_t col)
uint64_t firstRowIndex()
bool getColumnIsAutoIncrement(uint32_t col)
bool getProcedureList(const char *procedures)
bool getColumnIsUnsigned(const char *col)