unsigned int *affected_rows;
};
-extern struct sql_db driver_mysql_db;
-extern struct sql_result driver_mysql_result;
-extern struct sql_result driver_mysql_error_result;
+extern const struct sql_db driver_mysql_db;
+extern const struct sql_result driver_mysql_result;
+extern const struct sql_result driver_mysql_error_result;
static bool driver_mysql_connect(struct mysql_connection *conn)
{
ctx->tail = list;
}
-struct sql_db driver_mysql_db = {
+const struct sql_db driver_mysql_db = {
"mysql",
.v = {
}
};
-struct sql_result driver_mysql_result = {
+const struct sql_result driver_mysql_result = {
.v = {
driver_mysql_result_free,
driver_mysql_result_next_row,
return -1;
}
-struct sql_result driver_mysql_error_result = {
+const struct sql_result driver_mysql_error_result = {
.v = {
driver_mysql_result_free,
driver_mysql_result_error_next_row,
const char *query;
unsigned int *affected_rows;
};
-extern struct sql_db driver_pgsql_db;
-extern struct sql_result driver_pgsql_result;
+extern const struct sql_db driver_pgsql_db;
+extern const struct sql_result driver_pgsql_result;
static void
driver_pgsql_query_full(struct sql_db *db, const char *query,
ctx->tail = list;
}
-struct sql_db driver_pgsql_db = {
+const struct sql_db driver_pgsql_db = {
"pgsql",
.v = {
}
};
-struct sql_result driver_pgsql_result = {
+const struct sql_result driver_pgsql_result = {
.v = {
driver_pgsql_result_free,
driver_pgsql_result_next_row,
unsigned int failed:1;
};
-extern struct sql_db driver_sqlite_db;
-extern struct sql_result driver_sqlite_result;
-extern struct sql_result driver_sqlite_error_result;
+extern const struct sql_db driver_sqlite_db;
+extern const struct sql_result driver_sqlite_result;
+extern const struct sql_result driver_sqlite_error_result;
static int driver_sqlite_connect(struct sql_db *_db)
{
*affected_rows = sqlite3_changes(db->sqlite);
}
-struct sql_db driver_sqlite_db = {
+const struct sql_db driver_sqlite_db = {
"sqlite",
.v = {
}
};
-struct sql_result driver_sqlite_result = {
+const struct sql_result driver_sqlite_result = {
.v = {
driver_sqlite_result_free,
driver_sqlite_result_next_row,
return -1;
}
-struct sql_result driver_sqlite_error_result = {
+const struct sql_result driver_sqlite_error_result = {
.v = {
driver_sqlite_result_free,
driver_sqlite_result_error_next_row,