FS-11727: [core] Add SWITCH_DATABASE_FLAG_ROW_SIZE_LIMIT for databases unable to create wide tables.

This commit is contained in:
Andrey Volk
2019-03-24 12:13:26 +04:00
parent 07e0d4f90c
commit 7fc9eafa74
4 changed files with 71 additions and 1 deletions
+2
View File
@@ -2653,6 +2653,8 @@ SWITCH_DECLARE(switch_status_t) _switch_core_db_handle(switch_cache_db_handle_t
SWITCH_DECLARE(switch_bool_t) switch_cache_db_test_reactive(switch_cache_db_handle_t *db,
const char *test_sql, const char *drop_sql, const char *reactive_sql);
SWITCH_DECLARE(switch_bool_t) switch_cache_db_test_reactive_ex(switch_cache_db_handle_t *db,
const char *test_sql, const char *drop_sql, const char *reactive_sql, const char *row_size_limited_reactive_sql);
SWITCH_DECLARE(switch_status_t) switch_cache_db_persistant_execute(switch_cache_db_handle_t *dbh, const char *sql, uint32_t retries);
SWITCH_DECLARE(switch_status_t) switch_cache_db_persistant_execute_trans_full(switch_cache_db_handle_t *dbh, char *sql, uint32_t retries,
const char *pre_trans_execute,
+2
View File
@@ -619,6 +619,8 @@ struct switch_directory_handle {
struct switch_database_interface {
/*! the name of the interface */
const char *interface_name;
/*! flags indicating database specifics, see switch_database_flag_t */
uint32_t flags;
switch_status_t(*handle_new)(char *dsn, switch_database_interface_handle_t **dih);
switch_status_t(*handle_destroy)(switch_database_interface_handle_t **dih);
switch_status_t(*flush)(switch_database_interface_handle_t *dih);
+12
View File
@@ -404,6 +404,18 @@ typedef enum {
SWITCH_DATABASE_INTERFACE,
} switch_module_interface_name_t;
/*!
\enum switch_database_flag_t
\brief Database flags
<pre>
SWITCH_DATABASE_FLAG_ROW_SIZE_LIMIT = (1 << 0) - Indicates that database has got row-size limit for the combined sizes of all columns.
</pre>
*/
typedef enum {
SWITCH_DATABASE_FLAG_ROW_SIZE_LIMIT = (1 << 0)
} switch_database_flag_enum_t;
typedef uint32_t switch_database_flag_t;
typedef enum {
SUF_NONE = 0,
SUF_THREAD_RUNNING = (1 << 0),