From: Timo Sirainen Date: Tue, 22 Aug 2017 08:31:51 +0000 (+0300) Subject: lib-sql: Explicitly specify used *_vfuncs methods for drivers. X-Git-Tag: 2.3.0.rc1~1069 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ef597c4619eb021563f659b886c67762fce7a817;p=thirdparty%2Fdovecot%2Fcore.git lib-sql: Explicitly specify used *_vfuncs methods for drivers. This allows adding more methods without modifying all the existing drivers. --- diff --git a/src/lib-sql/driver-cassandra.c b/src/lib-sql/driver-cassandra.c index 5de4753d19..d63bfdf865 100644 --- a/src/lib-sql/driver-cassandra.c +++ b/src/lib-sql/driver-cassandra.c @@ -1616,23 +1616,23 @@ const struct sql_db driver_cassandra_db = { .flags = 0, .v = { - driver_cassandra_init_v, - driver_cassandra_deinit_v, - driver_cassandra_connect, - driver_cassandra_disconnect, - driver_cassandra_escape_string, - driver_cassandra_exec, - driver_cassandra_query, - driver_cassandra_query_s, - - driver_cassandra_transaction_begin, - driver_cassandra_transaction_commit, - driver_cassandra_transaction_commit_s, - driver_cassandra_transaction_rollback, - - driver_cassandra_update, - - driver_cassandra_escape_blob + .init = driver_cassandra_init_v, + .deinit = driver_cassandra_deinit_v, + .connect = driver_cassandra_connect, + .disconnect = driver_cassandra_disconnect, + .escape_string = driver_cassandra_escape_string, + .exec = driver_cassandra_exec, + .query = driver_cassandra_query, + .query_s = driver_cassandra_query_s, + + .transaction_begin = driver_cassandra_transaction_begin, + .transaction_commit = driver_cassandra_transaction_commit, + .transaction_commit_s = driver_cassandra_transaction_commit_s, + .transaction_rollback = driver_cassandra_transaction_rollback, + + .update = driver_cassandra_update, + + .escape_blob = driver_cassandra_escape_blob, } }; diff --git a/src/lib-sql/driver-mysql.c b/src/lib-sql/driver-mysql.c index 56e70bfa4d..83ecdfc170 100644 --- a/src/lib-sql/driver-mysql.c +++ b/src/lib-sql/driver-mysql.c @@ -663,39 +663,38 @@ const struct sql_db driver_mysql_db = { .flags = SQL_DB_FLAG_BLOCKING | SQL_DB_FLAG_POOLED, .v = { - driver_mysql_init_v, - driver_mysql_deinit_v, - driver_mysql_connect, - driver_mysql_disconnect, - driver_mysql_escape_string, - driver_mysql_exec, - driver_mysql_query, - driver_mysql_query_s, - - driver_mysql_transaction_begin, - driver_mysql_transaction_commit, - driver_mysql_transaction_commit_s, - driver_mysql_transaction_rollback, - - driver_mysql_update, - - driver_mysql_escape_blob + .init = driver_mysql_init_v, + .deinit = driver_mysql_deinit_v, + .connect = driver_mysql_connect, + .disconnect = driver_mysql_disconnect, + .escape_string = driver_mysql_escape_string, + .exec = driver_mysql_exec, + .query = driver_mysql_query, + .query_s = driver_mysql_query_s, + + .transaction_begin = driver_mysql_transaction_begin, + .transaction_commit = driver_mysql_transaction_commit, + .transaction_commit_s = driver_mysql_transaction_commit_s, + .transaction_rollback = driver_mysql_transaction_rollback, + + .update = driver_mysql_update, + + .escape_blob = driver_mysql_escape_blob, } }; const struct sql_result driver_mysql_result = { .v = { - driver_mysql_result_free, - driver_mysql_result_next_row, - driver_mysql_result_get_fields_count, - driver_mysql_result_get_field_name, - driver_mysql_result_find_field, - driver_mysql_result_get_field_value, - driver_mysql_result_get_field_value_binary, - driver_mysql_result_find_field_value, - driver_mysql_result_get_values, - driver_mysql_result_get_error, - NULL, + .free = driver_mysql_result_free, + .next_row = driver_mysql_result_next_row, + .get_fields_count = driver_mysql_result_get_fields_count, + .get_field_name = driver_mysql_result_get_field_name, + .find_field = driver_mysql_result_find_field, + .get_field_value = driver_mysql_result_get_field_value, + .get_field_value_binary = driver_mysql_result_get_field_value_binary, + .find_field_value = driver_mysql_result_find_field_value, + .get_values = driver_mysql_result_get_values, + .get_error = driver_mysql_result_get_error, } }; @@ -707,11 +706,9 @@ driver_mysql_result_error_next_row(struct sql_result *result ATTR_UNUSED) const struct sql_result driver_mysql_error_result = { .v = { - driver_mysql_result_free, - driver_mysql_result_error_next_row, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, - driver_mysql_result_get_error, - NULL, + .free = driver_mysql_result_free, + .next_row = driver_mysql_result_error_next_row, + .get_error = driver_mysql_result_get_error, }, .failed_try_retry = TRUE }; diff --git a/src/lib-sql/driver-pgsql.c b/src/lib-sql/driver-pgsql.c index 1e626dbf72..842dddc395 100644 --- a/src/lib-sql/driver-pgsql.c +++ b/src/lib-sql/driver-pgsql.c @@ -1175,39 +1175,38 @@ const struct sql_db driver_pgsql_db = { .flags = SQL_DB_FLAG_POOLED, .v = { - driver_pgsql_init_v, - driver_pgsql_deinit_v, - driver_pgsql_connect, - driver_pgsql_disconnect, - driver_pgsql_escape_string, - driver_pgsql_exec, - driver_pgsql_query, - driver_pgsql_query_s, - - driver_pgsql_transaction_begin, - driver_pgsql_transaction_commit, - driver_pgsql_transaction_commit_s, - driver_pgsql_transaction_rollback, - - driver_pgsql_update, - - driver_pgsql_escape_blob + .init = driver_pgsql_init_v, + .deinit = driver_pgsql_deinit_v, + .connect = driver_pgsql_connect, + .disconnect = driver_pgsql_disconnect, + .escape_string = driver_pgsql_escape_string, + .exec = driver_pgsql_exec, + .query = driver_pgsql_query, + .query_s = driver_pgsql_query_s, + + .transaction_begin = driver_pgsql_transaction_begin, + .transaction_commit = driver_pgsql_transaction_commit, + .transaction_commit_s = driver_pgsql_transaction_commit_s, + .transaction_rollback = driver_pgsql_transaction_rollback, + + .update = driver_pgsql_update, + + .escape_blob = driver_pgsql_escape_blob, } }; const struct sql_result driver_pgsql_result = { .v = { - driver_pgsql_result_free, - driver_pgsql_result_next_row, - driver_pgsql_result_get_fields_count, - driver_pgsql_result_get_field_name, - driver_pgsql_result_find_field, - driver_pgsql_result_get_field_value, - driver_pgsql_result_get_field_value_binary, - driver_pgsql_result_find_field_value, - driver_pgsql_result_get_values, - driver_pgsql_result_get_error, - NULL, + .free = driver_pgsql_result_free, + .next_row = driver_pgsql_result_next_row, + .get_fields_count = driver_pgsql_result_get_fields_count, + .get_field_name = driver_pgsql_result_get_field_name, + .find_field = driver_pgsql_result_find_field, + .get_field_value = driver_pgsql_result_get_field_value, + .get_field_value_binary = driver_pgsql_result_get_field_value_binary, + .find_field_value = driver_pgsql_result_find_field_value, + .get_values = driver_pgsql_result_get_values, + .get_error = driver_pgsql_result_get_error, } }; diff --git a/src/lib-sql/driver-sqlite.c b/src/lib-sql/driver-sqlite.c index 1508a90ef0..71f8f05c82 100644 --- a/src/lib-sql/driver-sqlite.c +++ b/src/lib-sql/driver-sqlite.c @@ -411,38 +411,38 @@ const struct sql_db driver_sqlite_db = { .flags = SQL_DB_FLAG_BLOCKING, .v = { - driver_sqlite_init_v, - driver_sqlite_deinit_v, - driver_sqlite_connect, - driver_sqlite_disconnect, - driver_sqlite_escape_string, - driver_sqlite_exec, - driver_sqlite_query, - driver_sqlite_query_s, - - driver_sqlite_transaction_begin, - driver_sqlite_transaction_commit, - driver_sqlite_transaction_commit_s, - driver_sqlite_transaction_rollback, - driver_sqlite_update, - - driver_sqlite_escape_blob + .init = driver_sqlite_init_v, + .deinit = driver_sqlite_deinit_v, + .connect = driver_sqlite_connect, + .disconnect = driver_sqlite_disconnect, + .escape_string = driver_sqlite_escape_string, + .exec = driver_sqlite_exec, + .query = driver_sqlite_query, + .query_s = driver_sqlite_query_s, + + .transaction_begin = driver_sqlite_transaction_begin, + .transaction_commit = driver_sqlite_transaction_commit, + .transaction_commit_s = driver_sqlite_transaction_commit_s, + .transaction_rollback = driver_sqlite_transaction_rollback, + + .update = driver_sqlite_update, + + .escape_blob = driver_sqlite_escape_blob, } }; const struct sql_result driver_sqlite_result = { .v = { - driver_sqlite_result_free, - driver_sqlite_result_next_row, - driver_sqlite_result_get_fields_count, - driver_sqlite_result_get_field_name, - driver_sqlite_result_find_field, - driver_sqlite_result_get_field_value, - driver_sqlite_result_get_field_value_binary, - driver_sqlite_result_find_field_value, - driver_sqlite_result_get_values, - driver_sqlite_result_get_error, - NULL, + .free = driver_sqlite_result_free, + .next_row = driver_sqlite_result_next_row, + .get_fields_count = driver_sqlite_result_get_fields_count, + .get_field_name = driver_sqlite_result_get_field_name, + .find_field = driver_sqlite_result_find_field, + .get_field_value = driver_sqlite_result_get_field_value, + .get_field_value_binary = driver_sqlite_result_get_field_value_binary, + .find_field_value = driver_sqlite_result_find_field_value, + .get_values = driver_sqlite_result_get_values, + .get_error = driver_sqlite_result_get_error, } }; @@ -454,11 +454,9 @@ driver_sqlite_result_error_next_row(struct sql_result *result ATTR_UNUSED) const struct sql_result driver_sqlite_error_result = { .v = { - driver_sqlite_result_free, - driver_sqlite_result_error_next_row, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, - driver_sqlite_result_get_error, - NULL, + .free = driver_sqlite_result_free, + .next_row = driver_sqlite_result_error_next_row, + .get_error = driver_sqlite_result_get_error, } }; diff --git a/src/lib-sql/driver-sqlpool.c b/src/lib-sql/driver-sqlpool.c index 29b7c8e0c1..dfc0450fb8 100644 --- a/src/lib-sql/driver-sqlpool.c +++ b/src/lib-sql/driver-sqlpool.c @@ -816,22 +816,21 @@ struct sql_db driver_sqlpool_db = { "", .v = { - NULL, - driver_sqlpool_deinit, - driver_sqlpool_connect, - driver_sqlpool_disconnect, - driver_sqlpool_escape_string, - driver_sqlpool_exec, - driver_sqlpool_query, - driver_sqlpool_query_s, - - driver_sqlpool_transaction_begin, - driver_sqlpool_transaction_commit, - driver_sqlpool_transaction_commit_s, - driver_sqlpool_transaction_rollback, - - driver_sqlpool_update, - - driver_sqlpool_escape_blob + .deinit = driver_sqlpool_deinit, + .connect = driver_sqlpool_connect, + .disconnect = driver_sqlpool_disconnect, + .escape_string = driver_sqlpool_escape_string, + .exec = driver_sqlpool_exec, + .query = driver_sqlpool_query, + .query_s = driver_sqlpool_query_s, + + .transaction_begin = driver_sqlpool_transaction_begin, + .transaction_commit = driver_sqlpool_transaction_commit, + .transaction_commit_s = driver_sqlpool_transaction_commit_s, + .transaction_rollback = driver_sqlpool_transaction_rollback, + + .update = driver_sqlpool_update, + + .escape_blob = driver_sqlpool_escape_blob, } }; diff --git a/src/lib-sql/driver-test.c b/src/lib-sql/driver-test.c index f21d73a4ae..8990f2b982 100644 --- a/src/lib-sql/driver-test.c +++ b/src/lib-sql/driver-test.c @@ -87,22 +87,22 @@ const struct sql_db driver_test_mysql_db = { .name = "mysql", .v = { - driver_test_mysql_init, - driver_test_deinit, - driver_test_connect, - driver_test_disconnect, - driver_test_mysql_escape_string, - driver_test_exec, - driver_test_query, - driver_test_query_s, - - driver_test_transaction_begin, - driver_test_transaction_commit, - driver_test_transaction_commit_s, - driver_test_transaction_rollback, - driver_test_update, - - driver_test_mysql_escape_blob + .init = driver_test_mysql_init, + .deinit = driver_test_deinit, + .connect = driver_test_connect, + .disconnect = driver_test_disconnect, + .escape_string = driver_test_mysql_escape_string, + .exec = driver_test_exec, + .query = driver_test_query, + .query_s = driver_test_query_s, + + .transaction_begin = driver_test_transaction_begin, + .transaction_commit = driver_test_transaction_commit, + .transaction_commit_s = driver_test_transaction_commit_s, + .transaction_rollback = driver_test_transaction_rollback, + .update = driver_test_update, + + .escape_blob = driver_test_mysql_escape_blob, } }; @@ -110,22 +110,22 @@ const struct sql_db driver_test_cassandra_db = { .name = "cassandra", .v = { - driver_test_cassandra_init, - driver_test_deinit, - driver_test_connect, - driver_test_disconnect, - driver_test_escape_string, - driver_test_exec, - driver_test_query, - driver_test_query_s, - - driver_test_transaction_begin, - driver_test_transaction_commit, - driver_test_transaction_commit_s, - driver_test_transaction_rollback, - driver_test_update, - - driver_test_escape_blob + .init = driver_test_cassandra_init, + .deinit = driver_test_deinit, + .connect = driver_test_connect, + .disconnect = driver_test_disconnect, + .escape_string = driver_test_escape_string, + .exec = driver_test_exec, + .query = driver_test_query, + .query_s = driver_test_query_s, + + .transaction_begin = driver_test_transaction_begin, + .transaction_commit = driver_test_transaction_commit, + .transaction_commit_s = driver_test_transaction_commit_s, + .transaction_rollback = driver_test_transaction_rollback, + .update = driver_test_update, + + .escape_blob = driver_test_escape_blob, } }; @@ -133,39 +133,38 @@ const struct sql_db driver_test_sqlite_db = { .name = "sqlite", .v = { - driver_test_sqlite_init, - driver_test_deinit, - driver_test_connect, - driver_test_disconnect, - driver_test_escape_string, - driver_test_exec, - driver_test_query, - driver_test_query_s, - - driver_test_transaction_begin, - driver_test_transaction_commit, - driver_test_transaction_commit_s, - driver_test_transaction_rollback, - driver_test_update, - - driver_test_escape_blob + .init = driver_test_sqlite_init, + .deinit = driver_test_deinit, + .connect = driver_test_connect, + .disconnect = driver_test_disconnect, + .escape_string = driver_test_escape_string, + .exec = driver_test_exec, + .query = driver_test_query, + .query_s = driver_test_query_s, + + .transaction_begin = driver_test_transaction_begin, + .transaction_commit = driver_test_transaction_commit, + .transaction_commit_s = driver_test_transaction_commit_s, + .transaction_rollback = driver_test_transaction_rollback, + .update = driver_test_update, + + .escape_blob = driver_test_escape_blob, } }; const struct sql_result driver_test_result = { .v = { - driver_test_result_free, - driver_test_result_next_row, - driver_test_result_get_fields_count, - driver_test_result_get_field_name, - driver_test_result_find_field, - driver_test_result_get_field_value, - driver_test_result_get_field_value_binary, - driver_test_result_find_field_value, - driver_test_result_get_values, - driver_test_result_get_error, - NULL, + .free = driver_test_result_free, + .next_row = driver_test_result_next_row, + .get_fields_count = driver_test_result_get_fields_count, + .get_field_name = driver_test_result_get_field_name, + .find_field = driver_test_result_find_field, + .get_field_value = driver_test_result_get_field_value, + .get_field_value_binary = driver_test_result_get_field_value_binary, + .find_field_value = driver_test_result_find_field_value, + .get_values = driver_test_result_get_values, + .get_error = driver_test_result_get_error, } };