changeset 3162:5d6787582410 HEAD

Added sql_get_flags() function, currently returning only SQL_DB_FLAG_BLOCKING.
author Timo Sirainen <tss@iki.fi>
date Sun, 27 Feb 2005 01:16:51 +0200
parents 6a3254e3c3de
children 8a4c6f0491ab
files src/lib-sql/driver-mysql.c src/lib-sql/driver-pgsql.c src/lib-sql/sql-api-private.h src/lib-sql/sql-api.h
diffstat 4 files changed, 24 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-sql/driver-mysql.c	Sun Feb 27 00:55:03 2005 +0200
+++ b/src/lib-sql/driver-mysql.c	Sun Feb 27 01:16:51 2005 +0200
@@ -244,6 +244,12 @@
 	pool_unref(db->pool);
 }
 
+static enum sql_db_flags
+driver_mysql_get_flags(struct sql_db *db __attr_unused__)
+{
+	return SQL_DB_FLAG_BLOCKING;
+}
+
 static int driver_mysql_connection_do_query(struct mysql_connection *conn,
 					    const char *query)
 {
@@ -453,6 +459,7 @@
 struct sql_db driver_mysql_db = {
 	driver_mysql_init,
 	driver_mysql_deinit,
+	driver_mysql_get_flags,
 	driver_mysql_exec,
 	driver_mysql_query
 };
--- a/src/lib-sql/driver-pgsql.c	Sun Feb 27 00:55:03 2005 +0200
+++ b/src/lib-sql/driver-pgsql.c	Sun Feb 27 01:16:51 2005 +0200
@@ -169,6 +169,12 @@
 	i_free(db);
 }
 
+static enum sql_db_flags
+driver_mysql_get_flags(struct sql_db *db __attr_unused__)
+{
+	return 0;
+}
+
 static void consume_results(void *context)
 {
 	struct pgsql_db *db = context;
@@ -552,6 +558,7 @@
 struct sql_db driver_pgsql_db = {
 	driver_pgsql_init,
 	driver_pgsql_deinit,
+        driver_mysql_get_flags,
 	driver_pgsql_exec,
 	driver_pgsql_query
 };
--- a/src/lib-sql/sql-api-private.h	Sun Feb 27 00:55:03 2005 +0200
+++ b/src/lib-sql/sql-api-private.h	Sun Feb 27 01:16:51 2005 +0200
@@ -7,6 +7,8 @@
 	struct sql_db *(*init)(const char *connect_string);
 	void (*deinit)(struct sql_db *db);
 
+	enum sql_db_flags (*get_flags)(struct sql_db *db);
+
 	void (*exec)(struct sql_db *db, const char *query);
 	void (*query)(struct sql_db *db, const char *query,
 		      sql_query_callback_t *callback, void *context);
--- a/src/lib-sql/sql-api.h	Sun Feb 27 00:55:03 2005 +0200
+++ b/src/lib-sql/sql-api.h	Sun Feb 27 01:16:51 2005 +0200
@@ -1,6 +1,11 @@
 #ifndef __SQL_API_H
 #define __SQL_API_H
 
+enum sql_db_flags {
+	/* Set if queries are not executed asynchronously */
+	SQL_DB_FLAG_BLOCKING		= 0x01,
+};
+
 /* This SQL API is designed to work asynchronously. The underlying drivers
    however may not. */
 
@@ -14,6 +19,9 @@
 struct sql_db *sql_init(const char *db_driver, const char *connect_string);
 void sql_deinit(struct sql_db *db);
 
+/* Returns SQL database state flags. */
+enum sql_db_flags sql_get_flags(struct sql_db *db);
+
 /* Execute SQL query without waiting for results. */
 void sql_exec(struct sql_db *db, const char *query);
 /* Execute SQL query and return result in callback. */