/home/dmuse/src/sqlrelay/src/api/c/include/sqlrelay/sqlrclientwrapper.h

    00001 /* Copyright (c) 2000-2001  David Muse
    00002  See the file COPYING for more information */
    00003
    00004 #ifndef SQLRCLIENTWRAPPER_H
    00005 #define SQLRCLIENTWRAPPER_H
    00006
    00007 #include <rudiments/private/inttypes.h>
    00008
    00012 typedef struct sqlrconnection *sqlrcon;
    00013 typedef struct sqlrcursor *sqlrcur;
    00014
    00025 sqlrcon sqlrcon_alloc(const char *server, uint16_t port, const char *socket,
    00026                                         const char *user, const char *password,
    00027                                         int32_t retrytime, int32_t tries);
    00028
    00031 void    sqlrcon_free(sqlrcon sqlrconref);
    00032
    00033
    00034
    00038 void    sqlrcon_setTimeout(sqlrcon sqlrconref,
    00039                         int32_t timeoutsec, int32_t timeoutusec);
    00040
    00043 void    sqlrcon_endSession(sqlrcon sqlrconref);
    00044
    00049 int     sqlrcon_suspendSession(sqlrcon sqlrconref);
    00050
    00056 uint16_t        sqlrcon_getConnectionPort(sqlrcon sqlrconref);
    00057
    00063 const char      *sqlrcon_getConnectionSocket(sqlrcon sqlrconref);
    00064
    00068 int     sqlrcon_resumeSession(sqlrcon sqlrconref, uint16_t port,
    00069                                                         const char *socket);
    00070
    00071
    00072
    00075 int     sqlrcon_ping(sqlrcon sqlrconref);
    00076
    00079 const char      *sqlrcon_identify(sqlrcon sqlrconref);
    00080
    00083 const char      *sqlrcon_dbVersion(sqlrcon sqlrconref);
    00084
    00087 const char      *sqlrcon_serverVersion(sqlrcon sqlrconref);
    00088
    00091 const char      *sqlrcon_clientVersion(sqlrcon sqlrconref);
    00092
    00096 const char      *sqlrcon_bindFormat(sqlrcon sqlrconref);
    00097
    00098
    00099
    00102 int     sqlrcon_selectDatabase(sqlrcon sqlrconref, const char *database);
    00103
    00106 const char      *sqlrcon_getCurrentDatabase(sqlrcon sqlrconref);
    00107
    00108
    00109
    00112 uint64_t        sqlrcon_getLastInsertId(sqlrcon sqlrconref);
    00113
    00114
    00115
    00118 int     sqlrcon_autoCommitOn(sqlrcon sqlrconref);
    00119
    00122 int     sqlrcon_autoCommitOff(sqlrcon sqlrconref);
    00123
    00124
    00125
    00129 int     sqlrcon_commit(sqlrcon sqlrconref);
    00130
    00134 int     sqlrcon_rollback(sqlrcon sqlrconref);
    00135
    00136
    00137
    00141 const char      *sqlrcon_errorMessage(sqlrcon sqlrconref);
    00142
    00143
    00144
    00149 void    sqlrcon_debugOn(sqlrcon sqlrconref);
    00150
    00153 void    sqlrcon_debugOff(sqlrcon sqlrconref);
    00154
    00157 int     sqlrcon_getDebug(sqlrcon sqlrconref);
    00158
    00159
    00160
    00164 void    sqlrcon_debugPrintFunction(sqlrcon sqlrconref,
    00165                                         int (*printfunction)(const char *,...));
    00166
    00167
    00168
    00172 sqlrcur sqlrcur_alloc(sqlrcon sqlrconref);
    00173
    00176 void    sqlrcur_free(sqlrcur sqlrcurref);
    00177
    00178
    00179
    00183 void    sqlrcur_setResultSetBufferSize(sqlrcur sqlrcurref, uint64_t rows);
    00184
    00188 uint64_t        sqlrcur_getResultSetBufferSize(sqlrcur sqlrcurref);
    00189
    00190
    00191
    00196 void    sqlrcur_dontGetColumnInfo(sqlrcur sqlrcurref);
    00197
    00200 void    sqlrcur_getColumnInfo(sqlrcur sqlrcurref);
    00201
    00202
    00203
    00207 void    sqlrcur_mixedCaseColumnNames(sqlrcur sqlrcurref);
    00208
    00211 void    sqlrcur_upperCaseColumnNames(sqlrcur sqlrcurref);
    00212
    00215 void    sqlrcur_lowerCaseColumnNames(sqlrcur sqlrcurref);
    00216
    00217
    00218
    00229 void    sqlrcur_cacheToFile(sqlrcur sqlrcurref, const char *filename);
    00230
    00235 void    sqlrcur_setCacheTtl(sqlrcur sqlrcurref, uint32_t ttl);
    00236
    00240 const char      *sqlrcur_getCacheFileName(sqlrcur sqlrcurref);
    00241
    00244 void    sqlrcur_cacheOff(sqlrcur sqlrcurref);
    00245
    00246
    00247
    00252 int     sqlrcur_getDatabaseList(sqlrcur sqlrcurref, const char *wild);
    00253
    00257 int     sqlrcur_getTableList(sqlrcur sqlrcurref, const char *wild);
    00258
    00263 int     sqlrcur_getColumnList(sqlrcur sqlrcurref,
    00264                                 const char *table, const char *wild);
    00265
    00266
    00267
    00270 int     sqlrcur_sendQuery(sqlrcur sqlrcurref, const char *query);
    00271
    00275 int     sqlrcur_sendQueryWithLength(sqlrcur sqlrcurref, const char *query,
    00276                                                         uint32_t length);
    00277
    00280 int     sqlrcur_sendFileQuery(sqlrcur sqlrcurref,
    00281                                 const char *path, const char *filename);
    00282
    00283
    00284
    00287 void    sqlrcur_prepareQuery(sqlrcur sqlrcurref, const char *query);
    00288
    00292 void    sqlrcur_prepareQueryWithLength(sqlrcur sqlrcurref,
    00293                                                 const char *query,
    00294                                                 uint32_t length);
    00295
    00298 void    sqlrcur_prepareFileQuery(sqlrcur sqlrcurref,
    00299                                         const char *path, const char *filename);
    00300
    00301
    00302
    00305 void    sqlrcur_subString(sqlrcur sqlrcurref,
    00306                                 const char *variable, const char *value);
    00307
    00310 void    sqlrcur_subLong(sqlrcur sqlrcurref,
    00311                                 const char *variable, int64_t value);
    00312
    00315 void    sqlrcur_subDouble(sqlrcur sqlrcurref,
    00316                                 const char *variable, double value,
    00317                                 uint32_t precision, uint32_t scale);
    00318
    00321 void    sqlrcur_subStrings(sqlrcur sqlrcurref,
    00322                                 const char **variables, const char **values);
    00323
    00326 void    sqlrcur_subLongs(sqlrcur sqlrcurref,
    00327                                 const char **variables, const int64_t *values);
    00328
    00331 void    sqlrcur_subDoubles(sqlrcur sqlrcurref,
    00332                                 const char **variables, const double *values,
    00333                                 const uint32_t *precisions,
    00334                                 const uint32_t *scales);
    00335
    00336
    00337
    00340 void    sqlrcur_inputBindString(sqlrcur sqlrcurref,
    00341                                 const char *variable, const char *value);
    00342
    00345 void    sqlrcur_inputBindStringWithLength(sqlrcur sqlrcurref,
    00346                                 const char *variable,
    00347                                 const char *value, uint32_t valuelength);
    00348
    00351 void    sqlrcur_inputBindLong(sqlrcur sqlrcurref, const char *variable,
    00352                                                         int64_t value);
    00353
    00360 void    sqlrcur_inputBindDouble(sqlrcur sqlrcurref,
    00361                                         const char *variable, double value,
    00362                                         uint32_t precision,
    00363                                         uint32_t scale);
    00364
    00367 void    sqlrcur_inputBindBlob(sqlrcur sqlrcurref,
    00368                                         const char *variable, const char *value,
    00369                                         uint32_t size);
    00370
    00373 void    sqlrcur_inputBindClob(sqlrcur sqlrcurref,
    00374                                         const char *variable, const char *value,
    00375                                         uint32_t size);
    00376
    00379 void    sqlrcur_inputBindStrings(sqlrcur sqlrcurref,
    00380                                         const char **variables,
    00381                                         const char **values);
    00382
    00385 void    sqlrcur_inputBindLongs(sqlrcur sqlrcurref,
    00386                                         const char **variables,
    00387                                         const int64_t *values);
    00388
    00391 void    sqlrcur_inputBindDoubles(sqlrcur sqlrcurref,
    00392                                         const char **variables,
    00393                                         const double *values,
    00394                                         const uint32_t *precisions,
    00395                                         const uint32_t *scales);
    00396
    00397
    00398
    00402 void    sqlrcur_defineOutputBindString(sqlrcur sqlrcurref,
    00403                                         const char *variable, uint32_t length);
    00404
    00407 void    sqlrcur_defineOutputBindInteger(sqlrcur sqlrcurref,
    00408                                         const char *variable);
    00409
    00412 void    sqlrcur_defineOutputBindDouble(sqlrcur sqlrcurref,
    00413                                         const char *variable);
    00414
    00417 void    sqlrcur_defineOutputBindBlob(sqlrcur sqlrcurref,
    00418                                         const char *variable);
    00419
    00422 void    sqlrcur_defineOutputBindClob(sqlrcur sqlrcurref,
    00423                                         const char *variable);
    00424
    00427 void    sqlrcur_defineOutputBindCursor(sqlrcur sqlrcurref,
    00428                                         const char *variable);
    00429
    00430
    00431
    00434 void    sqlrcur_clearBinds(sqlrcur sqlrcurref);
    00435
    00439 uint16_t        sqlrcur_countBindVariables(sqlrcur sqlrcurref);
    00440
    00446 void    sqlrcur_validateBinds(sqlrcur sqlrcurref);
    00447
    00450 int     sqlrcur_validBind(sqlrcur sqlrcurref, const char *variable);
    00451
    00452
    00453
    00456 int     sqlrcur_executeQuery(sqlrcur sqlrcurref);
    00457
    00460 int     sqlrcur_fetchFromBindCursor(sqlrcur sqlrcurref);
    00461
    00462
    00463
    00467 const char      *sqlrcur_getOutputBindString(sqlrcur sqlrcurref,
    00468                                                 const char *variable);
    00469
    00473 int64_t sqlrcur_getOutputBindInteger(sqlrcur sqlrcurref,
    00474                                                 const char *variable);
    00475
    00479 double  sqlrcur_getOutputBindDouble(sqlrcur sqlrcurref,
    00480                                                 const char *variable);
    00481
    00485 const char      *sqlrcur_getOutputBindBlob(sqlrcur sqlrcurref,
    00486                                                 const char *variable);
    00487
    00491 const char      *sqlrcur_getOutputBindClob(sqlrcur sqlrcurref,
    00492                                                 const char *variable);
    00493
    00497 uint32_t        sqlrcur_getOutputBindLength(sqlrcur sqlrcurref,
    00498                                                 const char *variable);
    00499
    00502 sqlrcur sqlrcur_getOutputBindCursor(sqlrcur sqlrcurref, const char *variable);
    00503
    00504
    00505
    00508 int     sqlrcur_openCachedResultSet(sqlrcur sqlrcurref, const char *filename);
    00509
    00510
    00511
    00514 uint32_t        sqlrcur_colCount(sqlrcur sqlrcurref);
    00515
    00518 uint64_t        sqlrcur_rowCount(sqlrcur sqlrcurref);
    00519
    00525 uint64_t        sqlrcur_totalRows(sqlrcur sqlrcurref);
    00526
    00532 uint64_t        sqlrcur_affectedRows(sqlrcur sqlrcurref);
    00533
    00537 uint64_t        sqlrcur_firstRowIndex(sqlrcur sqlrcurref);
    00538
    00543 int     sqlrcur_endOfResultSet(sqlrcur sqlrcurref);
    00544
    00545
    00546
    00550 const char      *sqlrcur_errorMessage(sqlrcur sqlrcurref);
    00551
    00552
    00553
    00557 void    sqlrcur_getNullsAsEmptyStrings(sqlrcur sqlrcurref);
    00558
    00562 void    sqlrcur_getNullsAsNulls(sqlrcur sqlrcurref);
    00563
    00564
    00565
    00568 const char      *sqlrcur_getFieldByIndex(sqlrcur sqlrcurref,
    00569                                                 uint64_t row, uint32_t col);
    00570
    00573 const char      *sqlrcur_getFieldByName(sqlrcur sqlrcurref,
    00574                                                 uint64_t row, const char *col);
    00575
    00578 int64_t sqlrcur_getFieldAsIntegerByIndex(sqlrcur sqlrcurref,
    00579                                                 uint64_t row, uint32_t col);
    00580
    00583 int64_t sqlrcur_getFieldAsIntegerByName(sqlrcur sqlrcurref,
    00584                                                 uint64_t row, const char *col);
    00585
    00588 double  sqlrcur_getFieldAsDoubleByIndex(sqlrcur sqlrcurref,
    00589                                                 uint64_t row, uint32_t col);
    00590
    00593 double  sqlrcur_getFieldAsDoubleByName(sqlrcur sqlrcurref,
    00594                                                 uint64_t row, const char *col);
    00595
    00596
    00597
    00600 uint32_t        sqlrcur_getFieldLengthByIndex(sqlrcur sqlrcurref,
    00601                                                 uint64_t row, uint32_t col);
    00602
    00605 uint32_t        sqlrcur_getFieldLengthByName(sqlrcur sqlrcurref,
    00606                                                 uint64_t row, const char *col);
    00607
    00608
    00609
    00613 const char * const *sqlrcur_getRow(sqlrcur sqlrcurref, uint64_t row);
    00614
    00618 uint32_t        *sqlrcur_getRowLengths(sqlrcur sqlrcurref, uint64_t row);
    00619
    00623 const char * const *sqlrcur_getColumnNames(sqlrcur sqlrcurref);
    00624
    00627 const char      *sqlrcur_getColumnName(sqlrcur sqlrcurref, uint32_t col);
    00628
    00631 const char      *sqlrcur_getColumnTypeByIndex(sqlrcur sqlrcurref, uint32_t col);
    00632
    00635 const char      *sqlrcur_getColumnTypeByName(sqlrcur sqlrcurref,
    00636                                                         const char *col);
    00637
    00640 uint32_t        sqlrcur_getColumnLengthByIndex(sqlrcur sqlrcurref,
    00641                                                         uint32_t col);
    00642
    00645 uint32_t        sqlrcur_getColumnLengthByName(sqlrcur sqlrcurref,
    00646                                                         const char *col);
    00647
    00652 uint32_t        sqlrcur_getColumnPrecisionByIndex(sqlrcur sqlrcurref,
    00653                                                         uint32_t col);
    00654
    00659 uint32_t        sqlrcur_getColumnPrecisionByName(sqlrcur sqlrcurref,
    00660                                                         const char *col);
    00661
    00666 uint32_t        sqlrcur_getColumnScaleByIndex(sqlrcur sqlrcurref,
    00667                                                         uint32_t col);
    00668
    00673 uint32_t        sqlrcur_getColumnScaleByName(sqlrcur sqlrcurref,
    00674                                                         const char *col);
    00675
    00680 int             sqlrcur_getColumnIsNullableByIndex(sqlrcur sqlrcurref,
    00681                                                         uint32_t col);
    00682
    00685 int             sqlrcur_getColumnIsNullableByName(sqlrcur sqlrcurref,
    00686                                                         const char *col);
    00687
    00690 int             sqlrcur_getColumnIsPrimaryKeyByIndex(sqlrcur sqlrcurref,
    00691                                                         uint32_t col);
    00692
    00695 int             sqlrcur_getColumnIsPrimaryKeyByName(sqlrcur sqlrcurref,
    00696                                                         const char *col);
    00697
    00700 int             sqlrcur_getColumnIsUniqueByIndex(sqlrcur sqlrcurref,
    00701                                                         uint32_t col);
    00702
    00705 int             sqlrcur_getColumnIsUniqueByName(sqlrcur sqlrcurref,
    00706                                                         const char *col);
    00707
    00711 int             sqlrcur_getColumnIsPartOfKeyByIndex(sqlrcur sqlrcurref,
    00712                                                         uint32_t col);
    00713
    00717 int             sqlrcur_getColumnIsPartOfKeyByName(sqlrcur sqlrcurref,
    00718                                                         const char *col);
    00719
    00722 int             sqlrcur_getColumnIsUnsignedByIndex(sqlrcur sqlrcurref,
    00723                                                         uint32_t col);
    00724
    00727 int             sqlrcur_getColumnIsUnsignedByName(sqlrcur sqlrcurref,
    00728                                                         const char *col);
    00729
    00733 int             sqlrcur_getColumnIsZeroFilledByIndex(sqlrcur sqlrcurref,
    00734                                                         uint32_t col);
    00735
    00739 int             sqlrcur_getColumnIsZeroFilledByName(sqlrcur sqlrcurref,
    00740                                                         const char *col);
    00741
    00744 int             sqlrcur_getColumnIsBinaryByIndex(sqlrcur sqlrcurref,
    00745                                                         uint32_t col);
    00746
    00749 int             sqlrcur_getColumnIsBinaryByName(sqlrcur sqlrcurref,
    00750                                                         const char *col);
    00751
    00754 int             sqlrcur_getColumnIsAutoIncrementByIndex(sqlrcur sqlrcurref,
    00755                                                         uint32_t col);
    00756
    00759 int             sqlrcur_getColumnIsAutoIncrementByName(sqlrcur sqlrcurref,
    00760                                                         const char *col);
    00761
    00764 uint32_t        sqlrcur_getLongestByIndex(sqlrcur sqlrcurref, uint32_t col);
    00765
    00768 uint32_t        sqlrcur_getLongestByName(sqlrcur sqlrcurref, const char *col);
    00769
    00770
    00771
    00776 void    sqlrcur_suspendResultSet(sqlrcur sqlrcurref);
    00777
    00783 uint16_t        sqlrcur_getResultSetId(sqlrcur sqlrcurref);
    00784
    00788 int     sqlrcur_resumeResultSet(sqlrcur sqlrcurref, uint16_t id);
    00789
    00794 int     sqlrcur_resumeCachedResultSet(sqlrcur sqlrcurref,
    00795                                         uint16_t id, const char *filename);
    00796
    00797 #endif