⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cli.h

📁 一个功能强大的内存数据库源代码,c++编写,有详细的注释
💻 H
📖 第 1 页 / 共 2 页
字号:
 *     for_update - not zero if fetched rows will be updated  * Returns: *     >= 0 - success, for select statements number of fetched rows is returned *     <  0 - error code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_fetch(int statement, int for_update);/********************************************************************* * cli_insert *     Execute insert statement. * Parameters: *     statement  - statememt descriptor returned by cli_statement *     oid        - object identifier of created record.  * Returns: *     status code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_insert(int statement, cli_oid_t* oid);/********************************************************************* * cli_get_first *     Get first row of the selection. * Parameters: *     statement  - statememt descriptor returned by cli_statement * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_get_first(int statement);/********************************************************************* * cli_get_last *     Get last row of the selection. * Parameters: *     statement  - statememt descriptor returned by cli_statement * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_get_last(int statement);/********************************************************************* * cli_get_next *     Get next row of the selection. If get_next records is called *     exactly after cli_fetch function call, is will fetch the first record *     in selection. * Parameters: *     statement  - statememt descriptor returned by cli_statement * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_get_next(int statement);/********************************************************************* * cli_get_prev *     Get previous row of the selection. If get_next records is called *     exactly after cli_fetch function call, is will fetch the last record *     in selection. * Parameters: *     statement  - statememt descriptor returned by cli_statement * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_get_prev(int statement);/********************************************************************* * cli_skip *     Skip specified number of rows.  * Parameters: *     statement  - statememt descriptor returned by cli_statement *     n          - number of objects to be skipped *                - if "n" is positive, then this function has the same effect as *                     executing cli_get_next() function "n" times. *                - if "n" is negative, then this function has the same effect as *                     executing cli_get_prev() function "-n" times. *                - if "n"  is zero, this method has no effect * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_skip(int statement, int n);/********************************************************************* * cli_get_oid *     Get object identifier of the current record * Parameters: *     statement  - statememt descriptor returned by cli_statement * Returns: *     object identifier or 0 if no object is seleected */cli_oid_t FASTDB_DLL_ENTRY cli_get_oid(int statement);/********************************************************************* * cli_update *     Update the current row in the selection. You have to set *     for_update parameter of cli_fetch to 1 in order to be able  *     to perform updates. Updated value of row fields will be taken *     from bound column variables.  * Parameters: *     statement   - statememt descriptor returned by cli_statement * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_update(int statement);/********************************************************************* * cli_remove *     Remove all selected records. You have to set *     for_update parameter of cli_fetch to 1 in order to be able  *     to remove records.  * Parameters: *     statement   - statememt descriptor returned by cli_statement * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_remove(int statement);/********************************************************************* * cli_free *     Deallocate statement and all associated data * Parameters: *     statement   - statememt descriptor returned by cli_statement * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_free(int statement);/********************************************************************* * cli_commit *     Commit current database transaction * Parameters: *     session - session descriptor as returned by cli_open * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_commit(int session);/********************************************************************* * cli_precommit *     Release all locks set by transaction. This methods allows other clients *     to proceed, but it doesn't flush transaction to the disk. * Parameters: *     session - session descriptor as returned by cli_open * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_precommit(int session);/********************************************************************* * cli_abort *     Abort current database transaction * Parameters: *     session - session descriptor as returned by cli_open * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_abort(int session);enum cli_field_flags {     cli_hashed           = 1, /* field should be indexed usnig hash table */    cli_indexed          = 2  /* field should be indexed using B-Tree */};typedef struct cli_field_descriptor {     enum cli_var_type type;    int               flags;    char const*       name;    char const*       refTableName;    char const*       inverseRefFieldName;} cli_field_descriptor;/********************************************************************* * cli_describe *     Describe fileds of specified table * Parameters: *     session - session descriptor as returned by cli_open *     table   - name of the table *     fields  - adress of the pointer to the array of fields descriptors,  *               this array should be later deallocated by application by free() * Returns: *     >= 0 - number of fields in the table *     < 0  - result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_describe(int session, char const* table, cli_field_descriptor** fields);typedef struct cli_table_descriptor {    char const*       name;} cli_table_descriptor;/********************************************************************* * cli_show_tables *     Show all tables of specified database * Parameters: *     session - session descriptor as returned by cli_open *     tables  - address of the pointer to the array of tables descriptors, *               this array should be later deallocated by application by free() * Returns: *     >= 0 - number of tables in the database (Metatable is not returned/counted) *     < 0  - result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_show_tables(int session, cli_table_descriptor** tables);/********************************************************************* * cli_create_table *     Create new table * Parameters: *     session   - session descriptor as returned by cli_open *     tableName - name of new table *     nFields   - number of columns in the table *     fields    - array with table columns descriptors * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_create_table(int session, char const* tableName, int nFields, 					cli_field_descriptor* fields);/********************************************************************* * cli_drop_table *     drop the table * Parameters: *     session   - session descriptor as returned by cli_open *     tableName - name of deleted table * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_drop_table(int session, char const* tableName);/********************************************************************* * cli_alter_index *     add or remove column index * Parameters: *     session   - session descriptor as returned by cli_open *     tableName - name of the table *     fieldName - name of field *     newFlags  - new flags of the field, if index exists for this field, but is not specified in  *                 <code>newFlags</code> mask, then it will be removed; if index not exists, but is  *                 specified in <code>newFlags</code> mask, then it will be created. *                    * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_alter_index(int session, char const* tableName, char const* fieldName,                                      int newFlags);/********************************************************************* * cli_set_error_handler *     Set FastDB erro handler. Handler should be no-return function which perform stack unwind. * Parameters: *     session   - session descriptor as returned by cli_open *     handler   - error handler * Returns: *     previous handler */enum cli_error_class {     cli_no_error,     cli_query_error,    cli_arithmetic_error,    cli_index_out_of_range_error,    cli_database_open_error,    cli_file_error,    cli_out_of_memory_error,    cli_deadlock,    cli_null_reference_error,    cli_lock_revoked,    cli_file_limit_exeeded        };typedef void (*cli_error_handler)(int error, char const* msg, int msgarg); cli_error_handler FASTDB_DLL_ENTRY cli_set_error_handler(int session, cli_error_handler new_handler);/********************************************************************* * cli_freeze *    Freeze cursor * Parameters: *     statement   - statememt descriptor returned by cli_statement * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_freeze(int statement);/********************************************************************* * cli_unfreeze *    Unfreeze cursor * Parameters: *     statement   - statememt descriptor returned by cli_statement * Returns: *     result code as described in cli_result_code enum */int FASTDB_DLL_ENTRY cli_unfreeze(int statement);#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -