dbd.h | dbd.h | |||
---|---|---|---|---|
/* | /* | |||
* libdbi - database independent abstraction layer for C. | * libdbi - database independent abstraction layer for C. | |||
* Copyright (C) 2001, David Parker and Mark Tobenkin. | * Copyright (C) 2001-2002, David Parker and Mark Tobenkin. | |||
* http://libdbi.sourceforge.net | * http://libdbi.sourceforge.net | |||
* | * | |||
* This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | |||
* modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | |||
* License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | |||
* version 2.1 of the License, or (at your option) any later version. | * version 2.1 of the License, or (at your option) any later version. | |||
* | * | |||
* This library is distributed in the hope that it will be useful, | * This library is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
* Lesser General Public License for more details. | * Lesser General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU Lesser General Public | * You should have received a copy of the GNU Lesser General Public | |||
* License along with this library; if not, write to the Free Software | * License along with this library; if not, write to the Free Software | |||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A | |||
* | * | |||
* $Id: dbd.h,v 1.6 2001/08/23 20:16:45 dap24 Exp $ | * $Id: dbd.h,v 1.9 2002/01/29 07:42:03 dap Exp $ | |||
*/ | */ | |||
#ifndef __DBD_H__ | #ifndef __DBD_H__ | |||
#define __DBD_H__ | #define __DBD_H__ | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
#include <dbi/dbi.h> | #include <dbi/dbi.h> | |||
#include <dbi/dbi-dev.h> | #include <dbi/dbi-dev.h> | |||
/* FUNCTIONS EXPORTED BY EACH PLUGIN */ | /* FUNCTIONS EXPORTED BY EACH DRIVER */ | |||
void dbd_register_plugin(const dbi_info_t **_plugin_info, const char ***_cu | void dbd_register_driver(const dbi_info_t **_driver_info, const char ***_cu | |||
stom_functions, const char ***_reserved_words); | stom_functions, const char ***_reserved_words); | |||
int dbd_initialize(dbi_plugin_t *plugin); | int dbd_initialize(dbi_driver_t *driver); | |||
int dbd_connect(dbi_driver_t *driver); | int dbd_connect(dbi_conn_t *conn); | |||
int dbd_disconnect(dbi_driver_t *driver); | int dbd_disconnect(dbi_conn_t *conn); | |||
int dbd_fetch_row(dbi_result_t *result, unsigned int rownum); | int dbd_fetch_row(dbi_result_t *result, unsigned int rownum); | |||
int dbd_free_query(dbi_result_t *result); | int dbd_free_query(dbi_result_t *result); | |||
int dbd_goto_row(dbi_result_t *result, unsigned int row); | int dbd_goto_row(dbi_result_t *result, unsigned int row); | |||
dbi_result_t *dbd_list_dbs(dbi_driver_t *driver, const char *pattern); | dbi_result_t *dbd_list_dbs(dbi_conn_t *conn, const char *pattern); | |||
dbi_result_t *dbd_list_tables(dbi_driver_t *driver, const char *db); | dbi_result_t *dbd_list_tables(dbi_conn_t *conn, const char *db); | |||
dbi_result_t *dbd_query(dbi_driver_t *driver, const char *statement); | dbi_result_t *dbd_query(dbi_conn_t *conn, const char *statement); | |||
int dbd_quote_string(dbi_plugin_t *plugin, const char *orig, char *dest); | int dbd_quote_string(dbi_driver_t *driver, const char *orig, char *dest); | |||
char *dbd_select_db(dbi_driver_t *driver, const char *db); | char *dbd_select_db(dbi_conn_t *conn, const char *db); | |||
int dbd_geterror(dbi_driver_t *driver, int *errno, char **errstr); | int dbd_geterror(dbi_conn_t *conn, int *errno, char **errstr); | |||
/* _DBD_* PLUGIN AUTHORS HELPER FUNCTIONS */ | /* _DBD_* DRIVER AUTHORS HELPER FUNCTIONS */ | |||
dbi_result_t *_dbd_result_create(dbi_driver_t *driver, void *handle, unsign | dbi_result_t *_dbd_result_create(dbi_conn_t *conn, void *handle, unsigned i | |||
ed int numrows_matched, unsigned int numrows_affected); | nt numrows_matched, unsigned int numrows_affected); | |||
void _dbd_result_set_numfields(dbi_result_t *result, unsigned int numfields ); | void _dbd_result_set_numfields(dbi_result_t *result, unsigned int numfields ); | |||
void _dbd_result_add_field(dbi_result_t *result, unsigned int idx, char *na me, unsigned short type, unsigned int attribs); | void _dbd_result_add_field(dbi_result_t *result, unsigned int idx, char *na me, unsigned short type, unsigned int attribs); | |||
dbi_row_t *_dbd_row_allocate(unsigned int numfields); | dbi_row_t *_dbd_row_allocate(unsigned int numfields); | |||
void _dbd_row_finalize(dbi_result_t *result, dbi_row_t *row, unsigned int i dx); | void _dbd_row_finalize(dbi_result_t *result, dbi_row_t *row, unsigned int i dx); | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif /* __cplusplus */ | #endif /* __cplusplus */ | |||
#endif /* __DBD_H__ */ | #endif /* __DBD_H__ */ | |||
End of changes. 5 change blocks. | ||||
17 lines changed or deleted | 17 lines changed or added | |||
dbi-dev.h | dbi-dev.h | |||
---|---|---|---|---|
/* | /* | |||
* libdbi - database independent abstraction layer for C. | * libdbi - database independent abstraction layer for C. | |||
* Copyright (C) 2001, David Parker and Mark Tobenkin. | * Copyright (C) 2001-2002, David Parker and Mark Tobenkin. | |||
* http://libdbi.sourceforge.net | * http://libdbi.sourceforge.net | |||
* | * | |||
* This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | |||
* modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | |||
* License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | |||
* version 2.1 of the License, or (at your option) any later version. | * version 2.1 of the License, or (at your option) any later version. | |||
* | * | |||
* This library is distributed in the hope that it will be useful, | * This library is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
* Lesser General Public License for more details. | * Lesser General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU Lesser General Public | * You should have received a copy of the GNU Lesser General Public | |||
* License along with this library; if not, write to the Free Software | * License along with this library; if not, write to the Free Software | |||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A | |||
* | * | |||
* $Id: dbi-dev.h,v 1.8 2001/08/23 20:16:45 dap24 Exp $ | * $Id: dbi-dev.h,v 1.12 2002/01/29 07:42:03 dap Exp $ | |||
*/ | */ | |||
#ifndef __DBI_DEV_H__ | #ifndef __DBI_DEV_H__ | |||
#define __DBI_DEV_H__ | #define __DBI_DEV_H__ | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
/********************* | /********************* | |||
* SQL RELATED TYPES * | * SQL RELATED TYPES * | |||
*********************/ | *********************/ | |||
/* to fool the compiler into letting us use the following structs before th ey're actually defined: */ | /* to fool the compiler into letting us use the following structs before th ey're actually defined: */ | |||
typedef struct dbi_plugin_s *dbi_plugin_t_pointer; | ||||
typedef struct dbi_driver_s *dbi_driver_t_pointer; | typedef struct dbi_driver_s *dbi_driver_t_pointer; | |||
typedef struct dbi_conn_s *dbi_conn_t_pointer; | ||||
typedef struct _field_binding_s *_field_binding_t_pointer; | typedef struct _field_binding_s *_field_binding_t_pointer; | |||
typedef union dbi_data_u { | typedef union dbi_data_u { | |||
char d_char; | char d_char; | |||
short d_short; | short d_short; | |||
long d_long; | long d_long; | |||
long long d_longlong; | long long d_longlong; | |||
float d_float; | float d_float; | |||
double d_double; | double d_double; | |||
char *d_string; | char *d_string; | |||
time_t d_datetime; | time_t d_datetime; | |||
} dbi_data_t; | } dbi_data_t; | |||
typedef struct dbi_row_s { | typedef struct dbi_row_s { | |||
dbi_data_t *field_values; | dbi_data_t *field_values; | |||
int *field_sizes; /* NULL field = 0, string field = len, anything el se = -1 */ | int *field_sizes; /* NULL field = 0, string field = len, anything el se = -1 */ | |||
} dbi_row_t; | } dbi_row_t; | |||
typedef struct dbi_result_s { | typedef struct dbi_result_s { | |||
dbi_driver_t_pointer driver; | dbi_conn_t_pointer conn; | |||
void *result_handle; /* will be typecast into driver-specific type * | void *result_handle; /* will be typecast into conn-specific type */ | |||
/ | ||||
unsigned long numrows_matched; /* set immediately after query */ | unsigned long numrows_matched; /* set immediately after query */ | |||
unsigned long numrows_affected; | unsigned long numrows_affected; | |||
_field_binding_t_pointer field_bindings; | _field_binding_t_pointer field_bindings; | |||
unsigned int numfields; /* can be zero or NULL until first fetchrow */ | unsigned int numfields; /* can be zero or NULL until first fetchrow */ | |||
char **field_names; | char **field_names; | |||
unsigned short *field_types; | unsigned short *field_types; | |||
unsigned int *field_attribs; | unsigned int *field_attribs; | |||
enum { NOTHING_RETURNED, ROWS_RETURNED, GETTING_ROWS } result_state; /* nothing_returned: wasn't a SELECT query. returns_rows: select, but no r ows fetched yet. getting_rows: select, at least one row has been fetched */ | enum { NOTHING_RETURNED, ROWS_RETURNED, GETTING_ROWS } result_state; /* nothing_returned: wasn't a SELECT query. returns_rows: select, but no r ows fetched yet. getting_rows: select, at least one row has been fetched */ | |||
skipping to change at line 81 | skipping to change at line 81 | |||
typedef struct _field_binding_s { | typedef struct _field_binding_s { | |||
void (*helper_function)(_field_binding_t_pointer); | void (*helper_function)(_field_binding_t_pointer); | |||
dbi_result_t *result; | dbi_result_t *result; | |||
const char *fieldname; | const char *fieldname; | |||
void *bindto; | void *bindto; | |||
struct _field_binding_s *next; | struct _field_binding_s *next; | |||
} _field_binding_t; | } _field_binding_t; | |||
/*************************************** | /*************************************** | |||
* PLUGIN INFRASTRUCTURE RELATED TYPES * | * DRIVER INFRASTRUCTURE RELATED TYPES * | |||
***************************************/ | ***************************************/ | |||
typedef struct dbi_info_s { | typedef struct dbi_info_s { | |||
const char *name; /* all lowercase letters and numbers, no spaces */ | const char *name; /* all lowercase letters and numbers, no spaces */ | |||
const char *description; /* one or two short sentences, no newlines */ | const char *description; /* one or two short sentences, no newlines */ | |||
const char *maintainer; /* Full Name <fname@fooblah.com> */ | const char *maintainer; /* Full Name <fname@fooblah.com> */ | |||
const char *url; /* where this plugin came from (if maintained by a third party) */ | const char *url; /* where this driver came from (if maintained by a third party) */ | |||
const char *version; | const char *version; | |||
const char *date_compiled; | const char *date_compiled; | |||
} dbi_info_t; | } dbi_info_t; | |||
typedef struct dbi_option_s { | typedef struct dbi_option_s { | |||
char *key; | char *key; | |||
char *string_value; | char *string_value; | |||
int numeric_value; /* use this for port and other numeric settings * / | int numeric_value; /* use this for port and other numeric settings * / | |||
struct dbi_option_s *next; | struct dbi_option_s *next; | |||
} dbi_option_t; | } dbi_option_t; | |||
typedef struct dbi_functions_s { | typedef struct dbi_functions_s { | |||
void (*register_plugin)(const dbi_info_t **, const char ***, const c | void (*register_driver)(const dbi_info_t **, const char ***, const c | |||
har ***); | har ***); | |||
int (*initialize)(dbi_plugin_t_pointer); | int (*initialize)(dbi_driver_t_pointer); | |||
int (*connect)(dbi_driver_t_pointer); | int (*connect)(dbi_conn_t_pointer); | |||
int (*disconnect)(dbi_driver_t_pointer); | int (*disconnect)(dbi_conn_t_pointer); | |||
int (*fetch_row)(dbi_result_t *, unsigned int); | int (*fetch_row)(dbi_result_t *, unsigned int); | |||
int (*free_query)(dbi_result_t *); | int (*free_query)(dbi_result_t *); | |||
int (*goto_row)(dbi_result_t *, unsigned int); | int (*goto_row)(dbi_result_t *, unsigned int); | |||
dbi_result_t *(*list_dbs)(dbi_driver_t_pointer, const char *); | int (*get_socket)(dbi_conn_t_pointer); | |||
dbi_result_t *(*list_tables)(dbi_driver_t_pointer, const char *); | dbi_result_t *(*list_dbs)(dbi_conn_t_pointer, const char *); | |||
dbi_result_t *(*query)(dbi_driver_t_pointer, const char *); | dbi_result_t *(*list_tables)(dbi_conn_t_pointer, const char *); | |||
int (*quote_string)(dbi_plugin_t_pointer, const char *, char *); | dbi_result_t *(*query)(dbi_conn_t_pointer, const char *); | |||
char *(*select_db)(dbi_driver_t_pointer, const char *); | int (*quote_string)(dbi_driver_t_pointer, const char *, char *); | |||
int (*geterror)(dbi_driver_t_pointer, int *, char **); | char *(*select_db)(dbi_conn_t_pointer, const char *); | |||
int (*geterror)(dbi_conn_t_pointer, int *, char **); | ||||
} dbi_functions_t; | } dbi_functions_t; | |||
typedef struct dbi_custom_function_s { | typedef struct dbi_custom_function_s { | |||
const char *name; | const char *name; | |||
void *function_pointer; | void *function_pointer; | |||
struct dbi_custom_function_s *next; | struct dbi_custom_function_s *next; | |||
} dbi_custom_function_t; | } dbi_custom_function_t; | |||
typedef struct dbi_plugin_s { | typedef struct dbi_driver_s { | |||
void *dlhandle; | void *dlhandle; | |||
char *filename; /* full pathname */ | char *filename; /* full pathname */ | |||
const dbi_info_t *info; | const dbi_info_t *info; | |||
dbi_functions_t *functions; | dbi_functions_t *functions; | |||
dbi_custom_function_t *custom_functions; | dbi_custom_function_t *custom_functions; | |||
const char **reserved_words; | const char **reserved_words; | |||
struct dbi_plugin_s *next; | struct dbi_driver_s *next; | |||
} dbi_plugin_t; | } dbi_driver_t; | |||
typedef struct dbi_driver_s { | typedef struct dbi_conn_s { | |||
dbi_plugin_t *plugin; /* generic unchanging attributes shared by all | dbi_driver_t *driver; /* generic unchanging attributes shared by all | |||
instances of this driver */ | instances of this conn */ | |||
dbi_option_t *options; | dbi_option_t *options; | |||
void *connection; /* will be typecast into driver-specific type */ | void *connection; /* will be typecast into conn-specific type */ | |||
char *current_db; | char *current_db; | |||
int error_number; /*XXX*/ | int error_number; /*XXX*/ | |||
char *error_message; /*XXX*/ | char *error_message; /*XXX*/ | |||
void *error_handler; | void *error_handler; | |||
void *error_handler_argument; | void *error_handler_argument; | |||
struct dbi_driver_s *next; /* so libdbi can unload all drivers at ex | struct dbi_conn_s *next; /* so libdbi can unload all conns at exit * | |||
it */ | / | |||
} dbi_driver_t; | } dbi_conn_t; | |||
unsigned long _isolate_attrib(unsigned long attribs, unsigned long rangemin , unsigned rangemax); | unsigned long _isolate_attrib(unsigned long attribs, unsigned long rangemin , unsigned rangemax); | |||
void _error_handler(dbi_driver_t *driver); | void _error_handler(dbi_conn_t *conn); | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif /* __cplusplus */ | #endif /* __cplusplus */ | |||
#endif /* __DBI_DEV_H__ */ | #endif /* __DBI_DEV_H__ */ | |||
End of changes. 15 change blocks. | ||||
30 lines changed or deleted | 30 lines changed or added | |||
dbi.h | dbi.h | |||
---|---|---|---|---|
/* | /* | |||
* libdbi - database independent abstraction layer for C. | * libdbi - database independent abstraction layer for C. | |||
* Copyright (C) 2001, David Parker and Mark Tobenkin. | * Copyright (C) 2001-2002, David Parker and Mark Tobenkin. | |||
* http://libdbi.sourceforge.net | * http://libdbi.sourceforge.net | |||
* | * | |||
* This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | |||
* modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | |||
* License as published by the Free Software Foundation; either | * License as published by the Free Software Foundation; either | |||
* version 2.1 of the License, or (at your option) any later version. | * version 2.1 of the License, or (at your option) any later version. | |||
* | * | |||
* This library is distributed in the hope that it will be useful, | * This library is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
* Lesser General Public License for more details. | * Lesser General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU Lesser General Public | * You should have received a copy of the GNU Lesser General Public | |||
* License along with this library; if not, write to the Free Software | * License along with this library; if not, write to the Free Software | |||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A | |||
* | * | |||
* $Id: dbi.h,v 1.20 2001/08/23 20:16:45 dap24 Exp $ | * $Id: dbi.h,v 1.25 2002/01/29 05:59:39 dap Exp $ | |||
*/ | */ | |||
#ifndef __DBI_H__ | #ifndef __DBI_H__ | |||
#define __DBI_H__ | #define __DBI_H__ | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
#include <stdlib.h> | #include <stdlib.h> | |||
#include <stdarg.h> | #include <stdarg.h> | |||
#include <time.h> | ||||
/* opaque type definitions */ | /* opaque type definitions */ | |||
typedef void * dbi_plugin; | ||||
typedef void * dbi_driver; | typedef void * dbi_driver; | |||
typedef void * dbi_conn; | ||||
typedef void * dbi_result; | typedef void * dbi_result; | |||
/* values for the int in field_types[] */ | /* values for the int in field_types[] */ | |||
#define DBI_TYPE_INTEGER 1 | #define DBI_TYPE_INTEGER 1 | |||
#define DBI_TYPE_DECIMAL 2 | #define DBI_TYPE_DECIMAL 2 | |||
#define DBI_TYPE_STRING 3 | #define DBI_TYPE_STRING 3 | |||
#define DBI_TYPE_BINARY 4 | #define DBI_TYPE_BINARY 4 | |||
#define DBI_TYPE_ENUM 5 | #define DBI_TYPE_ENUM 5 | |||
#define DBI_TYPE_SET 6 | #define DBI_TYPE_SET 6 | |||
#define DBI_TYPE_DATETIME 7 | #define DBI_TYPE_DATETIME 7 | |||
skipping to change at line 61 | skipping to change at line 62 | |||
#define DBI_INTEGER_SIZE3 8 | #define DBI_INTEGER_SIZE3 8 | |||
#define DBI_INTEGER_SIZE4 16 | #define DBI_INTEGER_SIZE4 16 | |||
#define DBI_INTEGER_SIZE8 32 | #define DBI_INTEGER_SIZE8 32 | |||
#define DBI_DECIMAL_UNSIGNED 1 | #define DBI_DECIMAL_UNSIGNED 1 | |||
#define DBI_DECIMAL_SIZE4 2 | #define DBI_DECIMAL_SIZE4 2 | |||
#define DBI_DECIMAL_SIZE8 4 | #define DBI_DECIMAL_SIZE8 4 | |||
#define DBI_STRING_FIXEDSIZE 1 /* XXX unused as of now */ | #define DBI_STRING_FIXEDSIZE 1 /* XXX unused as of now */ | |||
#define DBI_DATETIME_DATE 1 | #define DBI_DATETIME_DATE 1 | |||
#define DBI_DATETIME_TIME 2 | #define DBI_DATETIME_TIME 2 | |||
int dbi_initialize(const char *plugindir); | int dbi_initialize(const char *driverdir); | |||
void dbi_shutdown(); | void dbi_shutdown(); | |||
const char *dbi_version(); | const char *dbi_version(); | |||
dbi_plugin dbi_plugin_list(dbi_plugin Current); /* returns next plugin. if | dbi_driver dbi_driver_list(dbi_driver Current); /* returns next driver. if | |||
current is NULL, return first plugin. */ | current is NULL, return first driver. */ | |||
dbi_plugin dbi_plugin_open(const char *name); /* goes thru linked list unti | dbi_driver dbi_driver_open(const char *name); /* goes thru linked list unti | |||
l it finds the right one */ | l it finds the right one */ | |||
int dbi_plugin_is_reserved_word(dbi_plugin Plugin, const char *word); | int dbi_driver_is_reserved_word(dbi_driver Driver, const char *word); | |||
void *dbi_plugin_specific_function(dbi_plugin Plugin, const char *name); | void *dbi_driver_specific_function(dbi_driver Driver, const char *name); | |||
int dbi_plugin_quote_string(dbi_plugin Plugin, char **orig); | int dbi_driver_quote_string(dbi_driver Driver, char **orig); | |||
const char *dbi_plugin_get_name(dbi_plugin Plugin); | const char *dbi_driver_get_name(dbi_driver Driver); | |||
const char *dbi_plugin_get_filename(dbi_plugin Plugin); | const char *dbi_driver_get_filename(dbi_driver Driver); | |||
const char *dbi_plugin_get_description(dbi_plugin Plugin); | const char *dbi_driver_get_description(dbi_driver Driver); | |||
const char *dbi_plugin_get_maintainer(dbi_plugin Plugin); | const char *dbi_driver_get_maintainer(dbi_driver Driver); | |||
const char *dbi_plugin_get_url(dbi_plugin Plugin); | const char *dbi_driver_get_url(dbi_driver Driver); | |||
const char *dbi_plugin_get_version(dbi_plugin Plugin); | const char *dbi_driver_get_version(dbi_driver Driver); | |||
const char *dbi_plugin_get_date_compiled(dbi_plugin Plugin); | const char *dbi_driver_get_date_compiled(dbi_driver Driver); | |||
dbi_driver dbi_driver_new(const char *name); /* shortcut for dbi_driver_ope | dbi_conn dbi_conn_new(const char *name); /* shortcut for dbi_conn_open(dbi_ | |||
n(dbi_plugin_open("foo")) */ | driver_open("foo")) */ | |||
dbi_driver dbi_driver_open(dbi_plugin Plugin); /* returns an actual instanc | dbi_conn dbi_conn_open(dbi_driver Driver); /* returns an actual instance of | |||
e of the driver */ | the conn */ | |||
dbi_plugin dbi_driver_get_plugin(dbi_driver Driver); | dbi_driver dbi_conn_get_driver(dbi_conn Conn); | |||
int dbi_driver_set_option(dbi_driver Driver, const char *key, char *value); | int dbi_conn_set_option(dbi_conn Conn, const char *key, char *value); /* if | |||
/* if value is NULL, remove option from list */ | value is NULL, remove option from list */ | |||
int dbi_driver_set_option_numeric(dbi_driver Driver, const char *key, int v | int dbi_conn_set_option_numeric(dbi_conn Conn, const char *key, int value); | |||
alue); | const char *dbi_conn_get_option(dbi_conn Conn, const char *key); | |||
const char *dbi_driver_get_option(dbi_driver Driver, const char *key); | int dbi_conn_get_option_numeric(dbi_conn Conn, const char *key); | |||
int dbi_driver_get_option_numeric(dbi_driver Driver, const char *key); | const char *dbi_conn_get_option_list(dbi_conn Conn, const char *current); / | |||
const char *dbi_driver_get_option_list(dbi_driver Driver, const char *curre | * returns key of next option, or the first option key if current is NULL */ | |||
nt); /* returns key of next option, or the first option key if current is N | void dbi_conn_clear_option(dbi_conn Conn, const char *key); | |||
ULL */ | void dbi_conn_clear_options(dbi_conn Conn); | |||
void dbi_driver_clear_option(dbi_driver Driver, const char *key); | void dbi_conn_close(dbi_conn Conn); | |||
void dbi_driver_clear_options(dbi_driver Driver); | ||||
void dbi_driver_close(dbi_driver Driver); | ||||
int dbi_driver_error(dbi_driver Driver, char **errmsg_dest); | int dbi_conn_error(dbi_conn Conn, char **errmsg_dest); | |||
void dbi_driver_error_handler(dbi_driver Driver, void *function, void *user | void dbi_conn_error_handler(dbi_conn Conn, void *function, void *user_argum | |||
_argument); | ent); | |||
int dbi_driver_connect(dbi_driver Driver); | int dbi_conn_connect(dbi_conn Conn); | |||
dbi_result dbi_driver_get_db_list(dbi_driver Driver, const char *pattern); | int dbi_conn_get_socket(dbi_conn Conn); | |||
dbi_result dbi_driver_get_table_list(dbi_driver Driver, const char *db); | dbi_result dbi_conn_get_db_list(dbi_conn Conn, const char *pattern); | |||
dbi_result dbi_driver_query(dbi_driver Driver, const char *formatstr, ...); | dbi_result dbi_conn_get_table_list(dbi_conn Conn, const char *db); | |||
int dbi_driver_select_db(dbi_driver Driver, const char *db); | dbi_result dbi_conn_query(dbi_conn Conn, const char *formatstr, ...); | |||
int dbi_conn_select_db(dbi_conn Conn, const char *db); | ||||
dbi_driver dbi_result_get_driver(dbi_result Result); | dbi_conn dbi_result_get_conn(dbi_result Result); | |||
int dbi_result_free(dbi_result Result); | int dbi_result_free(dbi_result Result); | |||
int dbi_result_seek_row(dbi_result Result, unsigned int row); | int dbi_result_seek_row(dbi_result Result, unsigned int row); | |||
int dbi_result_first_row(dbi_result Result); | int dbi_result_first_row(dbi_result Result); | |||
int dbi_result_last_row(dbi_result Result); | int dbi_result_last_row(dbi_result Result); | |||
int dbi_result_prev_row(dbi_result Result); | int dbi_result_prev_row(dbi_result Result); | |||
int dbi_result_next_row(dbi_result Result); | int dbi_result_next_row(dbi_result Result); | |||
unsigned int dbi_result_get_numrows(dbi_result Result); | unsigned int dbi_result_get_numrows(dbi_result Result); | |||
unsigned int dbi_result_get_numrows_affected(dbi_result Result); | unsigned int dbi_result_get_numrows_affected(dbi_result Result); | |||
unsigned int dbi_result_get_field_size(dbi_result Result, const char *field name); | unsigned int dbi_result_get_field_size(dbi_result Result, const char *field name); | |||
unsigned int dbi_result_get_field_size_idx(dbi_result Result, unsigned int idx); | unsigned int dbi_result_get_field_size_idx(dbi_result Result, unsigned int idx); | |||
End of changes. 12 change blocks. | ||||
44 lines changed or deleted | 44 lines changed or added | |||