summaryrefslogtreecommitdiff
path: root/src/libtracker-sparql/core
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2023-01-17 02:38:19 +0100
committerCarlos Garnacho <carlosg@gnome.org>2023-01-17 11:29:27 +0100
commit319af89b26b3a99107ff22d07ec4d2eb255ea40b (patch)
tree7bfe26f8b6a4691a777efd2efda29f22c3965fc5 /src/libtracker-sparql/core
parent827ec7befce24d3e4a949f469bf41ad929caaa8f (diff)
downloadtracker-319af89b26b3a99107ff22d07ec4d2eb255ea40b.tar.gz
core: Handle G_TYPE_BOOLEAN specifically when binding values to statement
Do not let it fall through the g_value_convert() catchall case.
Diffstat (limited to 'src/libtracker-sparql/core')
-rw-r--r--src/libtracker-sparql/core/tracker-db-interface-sqlite.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libtracker-sparql/core/tracker-db-interface-sqlite.c b/src/libtracker-sparql/core/tracker-db-interface-sqlite.c
index 4696319ec..13ff41d84 100644
--- a/src/libtracker-sparql/core/tracker-db-interface-sqlite.c
+++ b/src/libtracker-sparql/core/tracker-db-interface-sqlite.c
@@ -3254,8 +3254,8 @@ tracker_db_statement_bind_bytes (TrackerDBStatement *stmt,
void
tracker_db_statement_bind_value (TrackerDBStatement *stmt,
- int index,
- const GValue *value)
+ int index,
+ const GValue *value)
{
GType type;
@@ -3278,6 +3278,10 @@ tracker_db_statement_bind_value (TrackerDBStatement *stmt,
} else if (type == G_TYPE_STRING) {
sqlite3_bind_text (stmt->stmt, index + 1,
g_value_get_string (value), -1, SQLITE_TRANSIENT);
+ } else if (type == G_TYPE_BOOLEAN) {
+ sqlite3_bind_text (stmt->stmt, index + 1,
+ g_value_get_boolean (value) ? "true" : "false",
+ -1, 0);
} else if (type == G_TYPE_BYTES) {
GBytes *bytes;
gconstpointer data;