[tracker/wip/carlosg/statement-fixes: 2/7] libtracker-sparql: Implement bind_datetime() in direct TrackerSparqlStatement




commit 3343d94711f357008f40c1ccb9f90697df92396c
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed Nov 10 22:49:11 2021 +0200

    libtracker-sparql: Implement bind_datetime() in direct TrackerSparqlStatement
    
    This piece of plumbing went missing when adding the
    tracker_sparql_statement_bind_datetime() API call. Make this function work for
    TrackerSparqlStatements created on a direct connection.

 src/libtracker-sparql/direct/tracker-direct-statement.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
---
diff --git a/src/libtracker-sparql/direct/tracker-direct-statement.c 
b/src/libtracker-sparql/direct/tracker-direct-statement.c
index 53e87883d..ee6b54d7c 100644
--- a/src/libtracker-sparql/direct/tracker-direct-statement.c
+++ b/src/libtracker-sparql/direct/tracker-direct-statement.c
@@ -129,6 +129,17 @@ tracker_direct_statement_bind_string (TrackerSparqlStatement *stmt,
        g_value_set_string (gvalue, value);
 }
 
+static void
+tracker_direct_statement_bind_datetime (TrackerSparqlStatement *stmt,
+                                        const gchar            *name,
+                                        GDateTime              *datetime)
+{
+       GValue *gvalue;
+
+       gvalue = insert_value (TRACKER_DIRECT_STATEMENT (stmt), name, G_TYPE_DATE_TIME);
+       g_value_set_boxed (gvalue, datetime);
+}
+
 static void
 tracker_direct_statement_clear_bindings (TrackerSparqlStatement *stmt)
 {
@@ -270,6 +281,7 @@ tracker_direct_statement_class_init (TrackerDirectStatementClass *klass)
        stmt_class->bind_boolean = tracker_direct_statement_bind_boolean;
        stmt_class->bind_double = tracker_direct_statement_bind_double;
        stmt_class->bind_string = tracker_direct_statement_bind_string;
+       stmt_class->bind_datetime = tracker_direct_statement_bind_datetime;
        stmt_class->clear_bindings = tracker_direct_statement_clear_bindings;
        stmt_class->execute = tracker_direct_statement_execute;
        stmt_class->execute_async = tracker_direct_statement_execute_async;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]