[tracker/date] libtracker-data: Add support for xsd:date
- From: JÃrg Billeter <juergbi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/date] libtracker-data: Add support for xsd:date
- Date: Wed, 20 Jul 2011 15:56:37 +0000 (UTC)
commit 3d268fa0902ba046f9d5c98965cf28ce9665429a
Author: JÃrg Billeter <j bitron ch>
Date: Thu May 12 10:06:55 2011 +0200
libtracker-data: Add support for xsd:date
Fixes NB#271747.
src/libtracker-data/tracker-data-update.c | 3 +++
src/libtracker-data/tracker-sparql-expression.vala | 7 ++++++-
2 files changed, 9 insertions(+), 1 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-update.c b/src/libtracker-data/tracker-data-update.c
index 2d26f99..8331625 100644
--- a/src/libtracker-data/tracker-data-update.c
+++ b/src/libtracker-data/tracker-data-update.c
@@ -1505,6 +1505,9 @@ string_to_gvalue (const gchar *value,
g_value_set_double (gvalue, atof (value));
break;
case TRACKER_PROPERTY_TYPE_DATE:
+ g_value_init (gvalue, G_TYPE_INT64);
+ g_value_set_int64 (gvalue, tracker_date_from_string (gvalue));
+ break;
case TRACKER_PROPERTY_TYPE_DATETIME:
g_value_init (gvalue, TRACKER_TYPE_DATE_TIME);
tracker_date_time_set_from_string (gvalue, value, error);
diff --git a/src/libtracker-data/tracker-sparql-expression.vala b/src/libtracker-data/tracker-sparql-expression.vala
index 17cc349..b3974bd 100644
--- a/src/libtracker-data/tracker-sparql-expression.vala
+++ b/src/libtracker-data/tracker-sparql-expression.vala
@@ -71,7 +71,7 @@ class Tracker.Sparql.Expression : Object {
}
bool maybe_numeric (PropertyType type) {
- return (type == PropertyType.INTEGER || type == PropertyType.DOUBLE || type == PropertyType.DATETIME || type == PropertyType.UNKNOWN);
+ return (type == PropertyType.INTEGER || type == PropertyType.DOUBLE || type == PropertyType.DATE || type == PropertyType.DATETIME || type == PropertyType.UNKNOWN);
}
void append_collate (StringBuilder sql) {
@@ -287,6 +287,11 @@ class Tracker.Sparql.Expression : Object {
sql.insert (begin, "CASE ");
sql.append (" WHEN 1 THEN 'true' WHEN 0 THEN 'false' ELSE NULL END");
break;
+ case PropertyType.DATE:
+ // ISO 8601 format
+ sql.insert (begin, "strftime (\"%Y-%m-%d\", ");
+ sql.append (", \"unixepoch\")");
+ break;
case PropertyType.DATETIME:
// ISO 8601 format
sql.insert (begin, "strftime (\"%Y-%m-%dT%H:%M:%SZ\", ");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]