00001 extern int db_d_add_column(); 00002 extern int db_d_bind_update(); 00003 extern int db_d_close_cursor(); 00004 extern int db_d_close_database(); 00005 extern int db_d_create_database(); 00006 extern int db_d_create_index(); 00007 extern int db_d_create_table(); 00008 extern int db_d_delete_database(); 00009 extern int db_d_describe_table(); 00010 extern int db_d_drop_column(); 00011 extern int db_d_drop_index(); 00012 extern int db_d_drop_table(); 00013 extern int db_d_execute_immediate(); 00014 extern int db_d_begin_transaction(); 00015 extern int db_d_commit_transaction(); 00016 extern int db_d_fetch(); 00017 extern int db_d_get_num_rows(); 00018 extern int db_d_find_database(); 00019 extern int db_d_grant_on_table(); 00020 extern int db_d_insert(); 00021 extern int db_d_delete(); 00022 extern int db_d_list_databases(); 00023 extern int db_d_list_indexes(); 00024 extern int db_d_list_tables(); 00025 extern int db_d_open_database(); 00026 extern int db_d_open_insert_cursor(); 00027 extern int db_d_open_select_cursor(); 00028 extern int db_d_open_update_cursor(); 00029 extern int db_d_update(); 00030 extern int db_d_version(); 00031 00032 static struct 00033 { 00034 int procnum; 00035 int (*routine)(); 00036 } procedure[] = 00037 { 00038 { DB_PROC_FETCH, db_d_fetch }, 00039 { DB_PROC_ROWS, db_d_get_num_rows }, 00040 { DB_PROC_UPDATE, db_d_update }, 00041 { DB_PROC_INSERT, db_d_insert }, 00042 { DB_PROC_DELETE, db_d_delete }, 00043 { DB_PROC_EXECUTE_IMMEDIATE, db_d_execute_immediate }, 00044 { DB_PROC_BEGIN_TRANSACTION, db_d_begin_transaction }, 00045 { DB_PROC_COMMIT_TRANSACTION, db_d_commit_transaction }, 00046 { DB_PROC_OPEN_SELECT_CURSOR, db_d_open_select_cursor }, 00047 { DB_PROC_OPEN_UPDATE_CURSOR, db_d_open_update_cursor }, 00048 { DB_PROC_BIND_UPDATE, db_d_bind_update }, 00049 { DB_PROC_OPEN_INSERT_CURSOR, db_d_open_insert_cursor }, 00050 { DB_PROC_CLOSE_CURSOR, db_d_close_cursor }, 00051 { DB_PROC_LIST_TABLES, db_d_list_tables }, 00052 { DB_PROC_DESCRIBE_TABLE, db_d_describe_table }, 00053 { DB_PROC_CREATE_TABLE, db_d_create_table }, 00054 { DB_PROC_DROP_TABLE, db_d_drop_table }, 00055 { DB_PROC_GRANT_ON_TABLE, db_d_grant_on_table }, 00056 { DB_PROC_OPEN_DATABASE, db_d_open_database }, 00057 { DB_PROC_CLOSE_DATABASE, db_d_close_database }, 00058 { DB_PROC_LIST_DATABASES, db_d_list_databases }, 00059 { DB_PROC_CREATE_DATABASE, db_d_create_database }, 00060 { DB_PROC_DELETE_DATABASE, db_d_delete_database }, 00061 { DB_PROC_FIND_DATABASE, db_d_find_database }, 00062 { DB_PROC_CREATE_INDEX, db_d_create_index }, 00063 { DB_PROC_DROP_INDEX, db_d_drop_index }, 00064 { DB_PROC_LIST_INDEXES, db_d_list_indexes }, 00065 { DB_PROC_ADD_COLUMN, db_d_add_column }, 00066 { DB_PROC_DROP_COLUMN, db_d_drop_column }, 00067 { DB_PROC_VERSION, db_d_version }, 00068 { -1, NULL } 00069 } ;