[tracker/wip/carlosg/portal: 14/16] libtracker-data: Allow prefixed names in constraint rules
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/carlosg/portal: 14/16] libtracker-data: Allow prefixed names in constraint rules
- Date: Sun, 5 Jul 2020 17:31:19 +0000 (UTC)
commit fa31e7be39a519562f519bfd95989202172eb6a7
Author: Carlos Garnacho <carlosg gnome org>
Date: Sun Jul 5 19:26:38 2020 +0200
libtracker-data: Allow prefixed names in constraint rules
In addition to IRIREFs, this way one can CONSTRAINT GRAPH tracker:Audio
without unrolling the full tracker: namespace.
src/libtracker-data/tracker-sparql-grammar.h | 4 ++--
src/libtracker-data/tracker-sparql.c | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
---
diff --git a/src/libtracker-data/tracker-sparql-grammar.h b/src/libtracker-data/tracker-sparql-grammar.h
index b659abde5..b26a32ea3 100644
--- a/src/libtracker-data/tracker-sparql-grammar.h
+++ b/src/libtracker-data/tracker-sparql-grammar.h
@@ -1509,12 +1509,12 @@ static const TrackerGrammarRule rule_SelectQuery[] = { R(SelectClause), GTE0(hel
*/
static const TrackerGrammarRule rule_PrefixDecl[] = { L(PREFIX), T(PNAME_NS), T(IRIREF), NIL };
-/* ConstraintDecl ::= 'CONSTRAINT' ( 'GRAPH' | 'SERVICE' ) ( ( IRIREF | 'DEFAULT' | 'ALL' ) ( ',' ( IRIREF |
'DEFAULT' | 'ALL' ) )* )?
+/* ConstraintDecl ::= 'CONSTRAINT' ( 'GRAPH' | 'SERVICE' ) ( ( PNAME_LN | IRIREF | 'DEFAULT' | 'ALL' ) ( ','
( PNAME_LN | IRIREF | 'DEFAULT' | 'ALL' ) )* )?
*
* TRACKER EXTENSION
*/
static const TrackerGrammarRule helper_ConstraintDecl_or_1[] = { L(GRAPH), L(SERVICE), NIL };
-static const TrackerGrammarRule helper_ConstraintDecl_or_2[] = { T(IRIREF), L(DEFAULT), L(ALL), NIL };
+static const TrackerGrammarRule helper_ConstraintDecl_or_2[] = { T(PNAME_LN), T(IRIREF), L(DEFAULT), L(ALL),
NIL };
static const TrackerGrammarRule helper_ConstraintDecl_seq_1[] = { L(COMMA), OR(helper_ConstraintDecl_or_2),
NIL };
static const TrackerGrammarRule helper_ConstraintDecl_gte0_1[] = { S(helper_ConstraintDecl_seq_1), NIL };
static const TrackerGrammarRule helper_ConstraintDecl_opt_1[] = { OR(helper_ConstraintDecl_or_2),
GTE0(helper_ConstraintDecl_gte0_1), NIL };
diff --git a/src/libtracker-data/tracker-sparql.c b/src/libtracker-data/tracker-sparql.c
index a4940d025..f4e7e5b28 100644
--- a/src/libtracker-data/tracker-sparql.c
+++ b/src/libtracker-data/tracker-sparql.c
@@ -2835,7 +2835,7 @@ translate_ConstraintDecl (TrackerSparql *sparql,
gboolean graph = FALSE;
gboolean filter_unnamed_graph = TRUE;
- /* ConstraintDecl ::= 'CONSTRAINT' ( 'GRAPH' | 'SERVICE' ) ( ( IRIREF | 'DEFAULT' | 'ALL' ) ( ',' (
IRIREF | 'DEFAULT' | 'ALL' ) )* )?
+ /* ConstraintDecl ::= 'CONSTRAINT' ( 'GRAPH' | 'SERVICE' ) ( ( PNAME_LN | IRIREF | 'DEFAULT' | 'ALL'
) ( ',' ( PNAME_LN | IRIREF | 'DEFAULT' | 'ALL' ) )* )?
*
* TRACKER EXTENSION
*/
@@ -2855,7 +2855,8 @@ translate_ConstraintDecl (TrackerSparql *sparql,
do {
gchar *elem;
- if (_accept (sparql, RULE_TYPE_TERMINAL, TERMINAL_TYPE_IRIREF)) {
+ if (_accept (sparql, RULE_TYPE_TERMINAL, TERMINAL_TYPE_IRIREF) ||
+ _accept (sparql, RULE_TYPE_TERMINAL, TERMINAL_TYPE_PNAME_LN)) {
if (set) {
elem = _dup_last_string (sparql);
g_ptr_array_add (set, elem);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]