Location | Tool | Test ID | Function | Issue |
---|---|---|---|---|
tracker-sparql-expression.c:1387:2 | clang-analyzer | Value stored to 'type' is never read | ||
tracker-sparql-expression.c:2054:9 | gcc | unused-but-set-variable | tracker_sparql_expression_translate_select_expression | variable '_tmp99__length1' set but not used |
tracker-sparql-expression.c:2069:4 | clang-analyzer | Value stored to '_tmp99_' is never read | ||
tracker-sparql-expression.c:2071:4 | clang-analyzer | Value stored to '_tmp99__length1' is never read | ||
tracker-sparql-expression.c:2123:4 | clang-analyzer | Value stored to '_tmp113_' is never read | ||
tracker-sparql-expression.c:2125:4 | clang-analyzer | Value stored to '_tmp113__length1' is never read | ||
tracker-sparql-expression.c:2242:3 | clang-analyzer | Value stored to '_tmp136_' is never read | ||
tracker-sparql-expression.c:2244:3 | clang-analyzer | Value stored to '_tmp136__length1' is never read | ||
tracker-sparql-expression.c:2274:3 | clang-analyzer | Value stored to '_tmp145_' is never read | ||
tracker-sparql-expression.c:2276:3 | clang-analyzer | Value stored to '_tmp145__length1' is never read | ||
tracker-sparql-expression.c:3325:13 | gcc | unused-but-set-variable | tracker_sparql_expression_translate_expression_as_string | variable 'is_var' set but not used |
tracker-sparql-expression.c:3345:4 | clang-analyzer | Value stored to 'is_var' is never read | ||
tracker-sparql-expression.c:6299:31 | gcc | unused-but-set-variable | tracker_sparql_expression_translate_function | variable 'is_var' set but not used |
tracker-sparql-expression.c:6314:22 | clang-analyzer | Value stored to 'is_var' is never read | ||
tracker-sparql-expression.c:6380:23 | clang-analyzer | Value stored to 'is_var' is never read | ||
tracker-sparql-expression.c:6483:24 | clang-analyzer | Value stored to 'is_var' is never read | ||
tracker-sparql-expression.c:15203:28 | gcc | unused-but-set-variable | _vala_tracker_sparql_expression_get_property | variable 'self' set but not used |
tracker-sparql-expression.c:15206:2 | clang-analyzer | Value stored to 'self' is never read |
1 /* tracker-sparql-expression.c generated by valac 0.18.1, the Vala compiler
2 * generated from tracker-sparql-expression.vala, do not modify */
3
4 /*
5 * Copyright (C) 2008-2010, Nokia
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the
19 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA.
21 */
22
23 #include <glib.h>
24 #include <glib-object.h>
25 #include <stdlib.h>
26 #include <string.h>
27 #include "libtracker-sparql/tracker-sparql.h"
28 #include "libtracker-data/tracker-property.h"
29 #include "libtracker-data/tracker-db-interface-sqlite.h"
30 #include "libtracker-data/tracker-class.h"
31 #include "libtracker-data/tracker-collation.h"
32 #include "libtracker-data/tracker-ontologies.h"
33
34
35 #define TRACKER_SPARQL_TYPE_EXPRESSION (tracker_sparql_expression_get_type ())
36 #define TRACKER_SPARQL_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_EXPRESSION, TrackerSparqlExpression))
37 #define TRACKER_SPARQL_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_EXPRESSION, TrackerSparqlExpressionClass))
38 #define TRACKER_SPARQL_IS_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_EXPRESSION))
39 #define TRACKER_SPARQL_IS_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_EXPRESSION))
40 #define TRACKER_SPARQL_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_EXPRESSION, TrackerSparqlExpressionClass))
41
42 typedef struct _TrackerSparqlExpression TrackerSparqlExpression;
43 typedef struct _TrackerSparqlExpressionClass TrackerSparqlExpressionClass;
44 typedef struct _TrackerSparqlExpressionPrivate TrackerSparqlExpressionPrivate;
45
46 #define TRACKER_SPARQL_TYPE_QUERY (tracker_sparql_query_get_type ())
47 #define TRACKER_SPARQL_QUERY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_QUERY, TrackerSparqlQuery))
48 #define TRACKER_SPARQL_QUERY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_QUERY, TrackerSparqlQueryClass))
49 #define TRACKER_SPARQL_IS_QUERY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_QUERY))
50 #define TRACKER_SPARQL_IS_QUERY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_QUERY))
51 #define TRACKER_SPARQL_QUERY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_QUERY, TrackerSparqlQueryClass))
52
53 typedef struct _TrackerSparqlQuery TrackerSparqlQuery;
54 typedef struct _TrackerSparqlQueryClass TrackerSparqlQueryClass;
55 #define _g_free0(var) (var = (g_free (var), NULL))
56
57 #define TRACKER_TYPE_SPARQL_TOKEN_TYPE (tracker_sparql_token_type_get_type ())
58
59 #define TRACKER_SPARQL_TYPE_VARIABLE (tracker_sparql_variable_get_type ())
60 #define TRACKER_SPARQL_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_VARIABLE, TrackerSparqlVariable))
61 #define TRACKER_SPARQL_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_VARIABLE, TrackerSparqlVariableClass))
62 #define TRACKER_SPARQL_IS_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_VARIABLE))
63 #define TRACKER_SPARQL_IS_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_VARIABLE))
64 #define TRACKER_SPARQL_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_VARIABLE, TrackerSparqlVariableClass))
65
66 typedef struct _TrackerSparqlVariable TrackerSparqlVariable;
67 typedef struct _TrackerSparqlVariableClass TrackerSparqlVariableClass;
68 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
69
70 #define TRACKER_SPARQL_TYPE_CONTEXT (tracker_sparql_context_get_type ())
71 #define TRACKER_SPARQL_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_CONTEXT, TrackerSparqlContext))
72 #define TRACKER_SPARQL_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_CONTEXT, TrackerSparqlContextClass))
73 #define TRACKER_SPARQL_IS_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_CONTEXT))
74 #define TRACKER_SPARQL_IS_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_CONTEXT))
75 #define TRACKER_SPARQL_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_CONTEXT, TrackerSparqlContextClass))
76
77 typedef struct _TrackerSparqlContext TrackerSparqlContext;
78 typedef struct _TrackerSparqlContextClass TrackerSparqlContextClass;
79 typedef struct _TrackerSparqlVariablePrivate TrackerSparqlVariablePrivate;
80
81 #define TRACKER_SPARQL_TYPE_DATA_BINDING (tracker_sparql_data_binding_get_type ())
82 #define TRACKER_SPARQL_DATA_BINDING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_DATA_BINDING, TrackerSparqlDataBinding))
83 #define TRACKER_SPARQL_DATA_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_DATA_BINDING, TrackerSparqlDataBindingClass))
84 #define TRACKER_SPARQL_IS_DATA_BINDING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_DATA_BINDING))
85 #define TRACKER_SPARQL_IS_DATA_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_DATA_BINDING))
86 #define TRACKER_SPARQL_DATA_BINDING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_DATA_BINDING, TrackerSparqlDataBindingClass))
87
88 typedef struct _TrackerSparqlDataBinding TrackerSparqlDataBinding;
89 typedef struct _TrackerSparqlDataBindingClass TrackerSparqlDataBindingClass;
90
91 #define TRACKER_SPARQL_TYPE_VARIABLE_BINDING (tracker_sparql_variable_binding_get_type ())
92 #define TRACKER_SPARQL_VARIABLE_BINDING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_VARIABLE_BINDING, TrackerSparqlVariableBinding))
93 #define TRACKER_SPARQL_VARIABLE_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_VARIABLE_BINDING, TrackerSparqlVariableBindingClass))
94 #define TRACKER_SPARQL_IS_VARIABLE_BINDING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_VARIABLE_BINDING))
95 #define TRACKER_SPARQL_IS_VARIABLE_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_VARIABLE_BINDING))
96 #define TRACKER_SPARQL_VARIABLE_BINDING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_VARIABLE_BINDING, TrackerSparqlVariableBindingClass))
97
98 typedef struct _TrackerSparqlVariableBinding TrackerSparqlVariableBinding;
99 typedef struct _TrackerSparqlVariableBindingClass TrackerSparqlVariableBindingClass;
100
101 #define TRACKER_SPARQL_TYPE_PATTERN (tracker_sparql_pattern_get_type ())
102 #define TRACKER_SPARQL_PATTERN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_PATTERN, TrackerSparqlPattern))
103 #define TRACKER_SPARQL_PATTERN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_PATTERN, TrackerSparqlPatternClass))
104 #define TRACKER_SPARQL_IS_PATTERN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_PATTERN))
105 #define TRACKER_SPARQL_IS_PATTERN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_PATTERN))
106 #define TRACKER_SPARQL_PATTERN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_PATTERN, TrackerSparqlPatternClass))
107
108 typedef struct _TrackerSparqlPattern TrackerSparqlPattern;
109 typedef struct _TrackerSparqlPatternClass TrackerSparqlPatternClass;
110
111 #define TRACKER_SPARQL_TYPE_SELECT_CONTEXT (tracker_sparql_select_context_get_type ())
112 #define TRACKER_SPARQL_SELECT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext))
113 #define TRACKER_SPARQL_SELECT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContextClass))
114 #define TRACKER_SPARQL_IS_SELECT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_SELECT_CONTEXT))
115 #define TRACKER_SPARQL_IS_SELECT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_SELECT_CONTEXT))
116 #define TRACKER_SPARQL_SELECT_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContextClass))
117
118 typedef struct _TrackerSparqlSelectContext TrackerSparqlSelectContext;
119 typedef struct _TrackerSparqlSelectContextClass TrackerSparqlSelectContextClass;
120 #define _tracker_sparql_context_unref0(var) ((var == NULL) ? NULL : (var = (tracker_sparql_context_unref (var), NULL)))
121 typedef struct _TrackerSparqlContextPrivate TrackerSparqlContextPrivate;
122
123 #define TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE (tracker_sparql_predicate_variable_get_type ())
124 #define TRACKER_SPARQL_PREDICATE_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE, TrackerSparqlPredicateVariable))
125 #define TRACKER_SPARQL_PREDICATE_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE, TrackerSparqlPredicateVariableClass))
126 #define TRACKER_SPARQL_IS_PREDICATE_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE))
127 #define TRACKER_SPARQL_IS_PREDICATE_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE))
128 #define TRACKER_SPARQL_PREDICATE_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE, TrackerSparqlPredicateVariableClass))
129
130 typedef struct _TrackerSparqlPredicateVariable TrackerSparqlPredicateVariable;
131 typedef struct _TrackerSparqlPredicateVariableClass TrackerSparqlPredicateVariableClass;
132 typedef struct _TrackerSparqlSelectContextPrivate TrackerSparqlSelectContextPrivate;
133 typedef struct _TrackerSparqlDataBindingPrivate TrackerSparqlDataBindingPrivate;
134
135 #define TRACKER_SPARQL_TYPE_DATA_TABLE (tracker_sparql_data_table_get_type ())
136 #define TRACKER_SPARQL_DATA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_DATA_TABLE, TrackerSparqlDataTable))
137 #define TRACKER_SPARQL_DATA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_DATA_TABLE, TrackerSparqlDataTableClass))
138 #define TRACKER_SPARQL_IS_DATA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_DATA_TABLE))
139 #define TRACKER_SPARQL_IS_DATA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_DATA_TABLE))
140 #define TRACKER_SPARQL_DATA_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_DATA_TABLE, TrackerSparqlDataTableClass))
141
142 typedef struct _TrackerSparqlDataTable TrackerSparqlDataTable;
143 typedef struct _TrackerSparqlDataTableClass TrackerSparqlDataTableClass;
144 typedef struct _TrackerSparqlVariableBindingPrivate TrackerSparqlVariableBindingPrivate;
145
146 #define TRACKER_SPARQL_TYPE_VARIABLE_STATE (tracker_sparql_variable_state_get_type ())
147 #define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL)))
148 typedef struct _TrackerSparqlPatternPrivate TrackerSparqlPatternPrivate;
149
150 #define TRACKER_SPARQL_TYPE_LITERAL_BINDING (tracker_sparql_literal_binding_get_type ())
151 #define TRACKER_SPARQL_LITERAL_BINDING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_LITERAL_BINDING, TrackerSparqlLiteralBinding))
152 #define TRACKER_SPARQL_LITERAL_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_LITERAL_BINDING, TrackerSparqlLiteralBindingClass))
153 #define TRACKER_SPARQL_IS_LITERAL_BINDING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_LITERAL_BINDING))
154 #define TRACKER_SPARQL_IS_LITERAL_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_LITERAL_BINDING))
155 #define TRACKER_SPARQL_LITERAL_BINDING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_LITERAL_BINDING, TrackerSparqlLiteralBindingClass))
156
157 typedef struct _TrackerSparqlLiteralBinding TrackerSparqlLiteralBinding;
158 typedef struct _TrackerSparqlLiteralBindingClass TrackerSparqlLiteralBindingClass;
159 typedef struct _TrackerSparqlLiteralBindingPrivate TrackerSparqlLiteralBindingPrivate;
160 typedef struct _TrackerSparqlQueryPrivate TrackerSparqlQueryPrivate;
161
162 struct _TrackerSparqlExpression {
163 GObject parent_instance;
164 TrackerSparqlExpressionPrivate * priv;
165 };
166
167 struct _TrackerSparqlExpressionClass {
168 GObjectClass parent_class;
169 };
170
171 struct _TrackerSparqlExpressionPrivate {
172 TrackerSparqlQuery* query;
173 gchar* fts_sql;
174 };
175
176 typedef enum {
177 TRACKER_SPARQL_TOKEN_TYPE_NONE,
178 TRACKER_SPARQL_TOKEN_TYPE_A,
179 TRACKER_SPARQL_TOKEN_TYPE_AS,
180 TRACKER_SPARQL_TOKEN_TYPE_ASC,
181 TRACKER_SPARQL_TOKEN_TYPE_ASK,
182 TRACKER_SPARQL_TOKEN_TYPE_ATBASE,
183 TRACKER_SPARQL_TOKEN_TYPE_ATPREFIX,
184 TRACKER_SPARQL_TOKEN_TYPE_AVG,
185 TRACKER_SPARQL_TOKEN_TYPE_BASE,
186 TRACKER_SPARQL_TOKEN_TYPE_BLANK_NODE,
187 TRACKER_SPARQL_TOKEN_TYPE_BOUND,
188 TRACKER_SPARQL_TOKEN_TYPE_BY,
189 TRACKER_SPARQL_TOKEN_TYPE_CLOSE_BRACE,
190 TRACKER_SPARQL_TOKEN_TYPE_CLOSE_BRACKET,
191 TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS,
192 TRACKER_SPARQL_TOKEN_TYPE_COALESCE,
193 TRACKER_SPARQL_TOKEN_TYPE_COLON,
194 TRACKER_SPARQL_TOKEN_TYPE_COMMA,
195 TRACKER_SPARQL_TOKEN_TYPE_CONSTRUCT,
196 TRACKER_SPARQL_TOKEN_TYPE_COUNT,
197 TRACKER_SPARQL_TOKEN_TYPE_DATA,
198 TRACKER_SPARQL_TOKEN_TYPE_DATATYPE,
199 TRACKER_SPARQL_TOKEN_TYPE_DECIMAL,
200 TRACKER_SPARQL_TOKEN_TYPE_DELETE,
201 TRACKER_SPARQL_TOKEN_TYPE_DESC,
202 TRACKER_SPARQL_TOKEN_TYPE_DESCRIBE,
203 TRACKER_SPARQL_TOKEN_TYPE_DISTINCT,
204 TRACKER_SPARQL_TOKEN_TYPE_DIV,
205 TRACKER_SPARQL_TOKEN_TYPE_DOT,
206 TRACKER_SPARQL_TOKEN_TYPE_DOUBLE,
207 TRACKER_SPARQL_TOKEN_TYPE_DOUBLE_CIRCUMFLEX,
208 TRACKER_SPARQL_TOKEN_TYPE_DROP,
209 TRACKER_SPARQL_TOKEN_TYPE_EOF,
210 TRACKER_SPARQL_TOKEN_TYPE_EXISTS,
211 TRACKER_SPARQL_TOKEN_TYPE_FALSE,
212 TRACKER_SPARQL_TOKEN_TYPE_FILTER,
213 TRACKER_SPARQL_TOKEN_TYPE_FROM,
214 TRACKER_SPARQL_TOKEN_TYPE_GRAPH,
215 TRACKER_SPARQL_TOKEN_TYPE_GROUP,
216 TRACKER_SPARQL_TOKEN_TYPE_GROUP_CONCAT,
217 TRACKER_SPARQL_TOKEN_TYPE_HAVING,
218 TRACKER_SPARQL_TOKEN_TYPE_IF,
219 TRACKER_SPARQL_TOKEN_TYPE_INSERT,
220 TRACKER_SPARQL_TOKEN_TYPE_INTEGER,
221 TRACKER_SPARQL_TOKEN_TYPE_INTO,
222 TRACKER_SPARQL_TOKEN_TYPE_IRI_REF,
223 TRACKER_SPARQL_TOKEN_TYPE_ISBLANK,
224 TRACKER_SPARQL_TOKEN_TYPE_ISIRI,
225 TRACKER_SPARQL_TOKEN_TYPE_ISLITERAL,
226 TRACKER_SPARQL_TOKEN_TYPE_ISURI,
227 TRACKER_SPARQL_TOKEN_TYPE_LANG,
228 TRACKER_SPARQL_TOKEN_TYPE_LANGMATCHES,
229 TRACKER_SPARQL_TOKEN_TYPE_LIMIT,
230 TRACKER_SPARQL_TOKEN_TYPE_MAX,
231 TRACKER_SPARQL_TOKEN_TYPE_MIN,
232 TRACKER_SPARQL_TOKEN_TYPE_MINUS,
233 TRACKER_SPARQL_TOKEN_TYPE_NAMED,
234 TRACKER_SPARQL_TOKEN_TYPE_NOT,
235 TRACKER_SPARQL_TOKEN_TYPE_NULL,
236 TRACKER_SPARQL_TOKEN_TYPE_OFFSET,
237 TRACKER_SPARQL_TOKEN_TYPE_OP_AND,
238 TRACKER_SPARQL_TOKEN_TYPE_OP_EQ,
239 TRACKER_SPARQL_TOKEN_TYPE_OP_GE,
240 TRACKER_SPARQL_TOKEN_TYPE_OP_GT,
241 TRACKER_SPARQL_TOKEN_TYPE_OP_LE,
242 TRACKER_SPARQL_TOKEN_TYPE_OP_LT,
243 TRACKER_SPARQL_TOKEN_TYPE_OP_NE,
244 TRACKER_SPARQL_TOKEN_TYPE_OP_NEG,
245 TRACKER_SPARQL_TOKEN_TYPE_OP_OR,
246 TRACKER_SPARQL_TOKEN_TYPE_OP_IN,
247 TRACKER_SPARQL_TOKEN_TYPE_OPEN_BRACE,
248 TRACKER_SPARQL_TOKEN_TYPE_OPEN_BRACKET,
249 TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS,
250 TRACKER_SPARQL_TOKEN_TYPE_OPTIONAL,
251 TRACKER_SPARQL_TOKEN_TYPE_OR,
252 TRACKER_SPARQL_TOKEN_TYPE_ORDER,
253 TRACKER_SPARQL_TOKEN_TYPE_PLUS,
254 TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX,
255 TRACKER_SPARQL_TOKEN_TYPE_PREFIX,
256 TRACKER_SPARQL_TOKEN_TYPE_REDUCED,
257 TRACKER_SPARQL_TOKEN_TYPE_REGEX,
258 TRACKER_SPARQL_TOKEN_TYPE_REPLACE,
259 TRACKER_SPARQL_TOKEN_TYPE_SAMETERM,
260 TRACKER_SPARQL_TOKEN_TYPE_SELECT,
261 TRACKER_SPARQL_TOKEN_TYPE_SEMICOLON,
262 TRACKER_SPARQL_TOKEN_TYPE_SILENT,
263 TRACKER_SPARQL_TOKEN_TYPE_STAR,
264 TRACKER_SPARQL_TOKEN_TYPE_STR,
265 TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL1,
266 TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL2,
267 TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG1,
268 TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG2,
269 TRACKER_SPARQL_TOKEN_TYPE_SUM,
270 TRACKER_SPARQL_TOKEN_TYPE_TRUE,
271 TRACKER_SPARQL_TOKEN_TYPE_UNION,
272 TRACKER_SPARQL_TOKEN_TYPE_VAR,
273 TRACKER_SPARQL_TOKEN_TYPE_WHERE,
274 TRACKER_SPARQL_TOKEN_TYPE_WITH
275 } TrackerSparqlTokenType;
276
277 struct _TrackerSparqlVariable {
278 GObject parent_instance;
279 TrackerSparqlVariablePrivate * priv;
280 TrackerSparqlVariableBinding* binding;
281 };
282
283 struct _TrackerSparqlVariableClass {
284 GObjectClass parent_class;
285 };
286
287 struct _TrackerSparqlContext {
288 GTypeInstance parent_instance;
289 volatile int ref_count;
290 TrackerSparqlContextPrivate * priv;
291 TrackerSparqlQuery* query;
292 TrackerSparqlContext* parent_context;
293 GHashTable* var_set;
294 GHashTable* var_map;
295 GHashTable* select_var_set;
296 GHashTable* predicate_variable_map;
297 gboolean scalar_subquery;
298 };
299
300 struct _TrackerSparqlContextClass {
301 GTypeClass parent_class;
302 void (*finalize) (TrackerSparqlContext *self);
303 };
304
305 struct _TrackerSparqlSelectContext {
306 TrackerSparqlContext parent_instance;
307 TrackerSparqlSelectContextPrivate * priv;
308 TrackerPropertyType type;
309 TrackerPropertyType* types;
310 gint types_length1;
311 gint _types_size_;
312 gchar** variable_names;
313 gint variable_names_length1;
314 gint _variable_names_size_;
315 };
316
317 struct _TrackerSparqlSelectContextClass {
318 TrackerSparqlContextClass parent_class;
319 };
320
321 struct _TrackerSparqlDataBinding {
322 GObject parent_instance;
323 TrackerSparqlDataBindingPrivate * priv;
324 TrackerPropertyType data_type;
325 TrackerSparqlDataTable* table;
326 gchar* sql_db_column_name;
327 };
328
329 struct _TrackerSparqlDataBindingClass {
330 GObjectClass parent_class;
331 };
332
333 struct _TrackerSparqlVariableBinding {
334 TrackerSparqlDataBinding parent_instance;
335 TrackerSparqlVariableBindingPrivate * priv;
336 TrackerSparqlVariable* variable;
337 gboolean maybe_null;
338 gboolean in_simple_optional;
339 TrackerClass* type;
340 };
341
342 struct _TrackerSparqlVariableBindingClass {
343 TrackerSparqlDataBindingClass parent_class;
344 };
345
346 typedef enum {
347 TRACKER_SPARQL_VARIABLE_STATE_NONE,
348 TRACKER_SPARQL_VARIABLE_STATE_BOUND,
349 TRACKER_SPARQL_VARIABLE_STATE_OPTIONAL
350 } TrackerSparqlVariableState;
351
352 struct _TrackerSparqlPattern {
353 GObject parent_instance;
354 TrackerSparqlPatternPrivate * priv;
355 gchar* current_graph;
356 TrackerSparqlVariable* fts_subject;
357 gchar** fts_variables;
358 gint fts_variables_length1;
359 gint _fts_variables_size_;
360 GString* match_str;
361 gboolean queries_fts_data;
362 };
363
364 struct _TrackerSparqlPatternClass {
365 GObjectClass parent_class;
366 };
367
368 struct _TrackerSparqlLiteralBinding {
369 TrackerSparqlDataBinding parent_instance;
370 TrackerSparqlLiteralBindingPrivate * priv;
371 gboolean is_fts_match;
372 gchar* literal;
373 };
374
375 struct _TrackerSparqlLiteralBindingClass {
376 TrackerSparqlDataBindingClass parent_class;
377 };
378
379 struct _TrackerSparqlQuery {
380 GObject parent_instance;
381 TrackerSparqlQueryPrivate * priv;
382 TrackerSparqlExpression* expression;
383 TrackerSparqlPattern* pattern;
384 GList* bindings;
385 TrackerSparqlContext* context;
386 gint last_var_index;
387 };
388
389 struct _TrackerSparqlQueryClass {
390 GObjectClass parent_class;
391 };
392
393
394 static gpointer tracker_sparql_expression_parent_class = NULL;
395
396 GType tracker_sparql_expression_get_type (void) G_GNUC_CONST;
397 GType tracker_sparql_query_get_type (void) G_GNUC_CONST;
398 #define TRACKER_SPARQL_EXPRESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRACKER_SPARQL_TYPE_EXPRESSION, TrackerSparqlExpressionPrivate))
399 enum {
400 TRACKER_SPARQL_EXPRESSION_DUMMY_PROPERTY
401 };
402 #define TRACKER_SPARQL_EXPRESSION_MAX_VARIABLES_FOR_IN 20
403 #define TRACKER_SPARQL_EXPRESSION_XSD_NS "http://www.w3.org/2001/XMLSchema#"
404 #define TRACKER_SPARQL_EXPRESSION_FN_NS "http://www.w3.org/2005/xpath-functions#"
405 #define TRACKER_SPARQL_EXPRESSION_FTS_NS "http://www.tracker-project.org/ontologies/fts#"
406 #define TRACKER_SPARQL_EXPRESSION_TRACKER_NS "http://www.tracker-project.org/ontologies/tracker#"
407 TrackerSparqlExpression* tracker_sparql_expression_new (TrackerSparqlQuery* query);
408 TrackerSparqlExpression* tracker_sparql_expression_construct (GType object_type, TrackerSparqlQuery* query);
409 static inline gboolean tracker_sparql_expression_next (TrackerSparqlExpression* self, GError** error);
410 gboolean tracker_sparql_query_next (TrackerSparqlQuery* self, GError** error);
411 GType tracker_sparql_token_type_get_type (void) G_GNUC_CONST;
412 static inline TrackerSparqlTokenType tracker_sparql_expression_current (TrackerSparqlExpression* self);
413 TrackerSparqlTokenType tracker_sparql_query_current (TrackerSparqlQuery* self);
414 static inline TrackerSparqlTokenType tracker_sparql_expression_last (TrackerSparqlExpression* self);
415 TrackerSparqlTokenType tracker_sparql_query_last (TrackerSparqlQuery* self);
416 static inline gboolean tracker_sparql_expression_accept (TrackerSparqlExpression* self, TrackerSparqlTokenType type, GError** error);
417 gboolean tracker_sparql_query_accept (TrackerSparqlQuery* self, TrackerSparqlTokenType type, GError** error);
418 static GError* tracker_sparql_expression_get_error (TrackerSparqlExpression* self, const gchar* msg);
419 GError* tracker_sparql_query_get_error (TrackerSparqlQuery* self, const gchar* msg);
420 static gboolean tracker_sparql_expression_expect (TrackerSparqlExpression* self, TrackerSparqlTokenType type, GError** error);
421 gboolean tracker_sparql_query_expect (TrackerSparqlQuery* self, TrackerSparqlTokenType type, GError** error);
422 static gchar* tracker_sparql_expression_get_last_string (TrackerSparqlExpression* self, gint strip);
423 gchar* tracker_sparql_query_get_last_string (TrackerSparqlQuery* self, gint strip);
424 static gchar* tracker_sparql_expression_escape_sql_string_literal (TrackerSparqlExpression* self, const gchar* literal);
425 static gboolean tracker_sparql_expression_maybe_numeric (TrackerSparqlExpression* self, TrackerPropertyType type);
426 static void tracker_sparql_expression_append_collate (TrackerSparqlExpression* self, GString* sql);
427 static void tracker_sparql_expression_skip_bracketted_expression (TrackerSparqlExpression* self, GError** error);
428 void tracker_sparql_expression_skip_select_variables (TrackerSparqlExpression* self, GError** error);
429 TrackerPropertyType tracker_sparql_expression_translate_select_expression (TrackerSparqlExpression* self, GString* sql, gboolean subquery, gint variable_index, GError** error);
430 GType tracker_sparql_variable_get_type (void) G_GNUC_CONST;
431 TrackerPropertyType tracker_sparql_expression_translate_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
432 gpointer tracker_sparql_context_ref (gpointer instance);
433 void tracker_sparql_context_unref (gpointer instance);
434 GParamSpec* tracker_sparql_param_spec_context (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
435 void tracker_sparql_value_set_context (GValue* value, gpointer v_object);
436 void tracker_sparql_value_take_context (GValue* value, gpointer v_object);
437 gpointer tracker_sparql_value_get_context (const GValue* value);
438 GType tracker_sparql_context_get_type (void) G_GNUC_CONST;
439 static TrackerSparqlContext* tracker_sparql_expression_get_context (TrackerSparqlExpression* self);
440 TrackerSparqlVariable* tracker_sparql_context_get_variable (TrackerSparqlContext* self, const gchar* name);
441 GType tracker_sparql_data_binding_get_type (void) G_GNUC_CONST;
442 GType tracker_sparql_variable_binding_get_type (void) G_GNUC_CONST;
443 const gchar* tracker_sparql_variable_get_name (TrackerSparqlVariable* self);
444 GType tracker_sparql_pattern_get_type (void) G_GNUC_CONST;
445 static TrackerSparqlPattern* tracker_sparql_expression_get_pattern (TrackerSparqlExpression* self);
446 GType tracker_sparql_select_context_get_type (void) G_GNUC_CONST;
447 TrackerSparqlSelectContext* tracker_sparql_pattern_translate_select (TrackerSparqlPattern* self, GString* sql, gboolean subquery, gboolean scalar_subquery, GError** error);
448 GType tracker_sparql_predicate_variable_get_type (void) G_GNUC_CONST;
449 static void tracker_sparql_expression_convert_expression_to_string (GString* sql, TrackerPropertyType type, glong begin);
450 const gchar* tracker_sparql_variable_get_sql_expression (TrackerSparqlVariable* self);
451 TrackerSparqlVariableBinding* tracker_sparql_variable_binding_new (void);
452 TrackerSparqlVariableBinding* tracker_sparql_variable_binding_construct (GType object_type);
453 GType tracker_sparql_data_table_get_type (void) G_GNUC_CONST;
454 void tracker_sparql_data_binding_set_sql_expression (TrackerSparqlDataBinding* self, const gchar* value);
455 GType tracker_sparql_variable_state_get_type (void) G_GNUC_CONST;
456 void tracker_sparql_pattern_add_variable_binding (TrackerSparqlPattern* self, GString* sql, TrackerSparqlVariableBinding* binding, TrackerSparqlVariableState variable_state);
457 static void _vala_array_add1 (gchar*** array, int* length, int* size, gchar* value);
458 static void _vala_array_add2 (gchar*** array, int* length, int* size, gchar* value);
459 static void _vala_array_add3 (gchar*** array, int* length, int* size, gchar* value);
460 static void _vala_array_add4 (gchar*** array, int* length, int* size, gchar* value);
461 static void tracker_sparql_expression_translate_expression_as_order_condition (TrackerSparqlExpression* self, GString* sql, GError** error);
462 void tracker_sparql_expression_translate_order_condition (TrackerSparqlExpression* self, GString* sql, GError** error);
463 static void tracker_sparql_expression_translate_bound_call (TrackerSparqlExpression* self, GString* sql, GError** error);
464 static TrackerPropertyType tracker_sparql_expression_translate_if_call (TrackerSparqlExpression* self, GString* sql, GError** error);
465 static void tracker_sparql_expression_translate_regex (TrackerSparqlExpression* self, GString* sql, GError** error);
466 static void tracker_sparql_expression_translate_expression_as_string (TrackerSparqlExpression* self, GString* sql, GError** error);
467 gchar* tracker_sparql_expression_parse_string_literal (TrackerSparqlExpression* self, TrackerPropertyType* type, GError** error);
468 static void tracker_sparql_expression_translate_exists (TrackerSparqlExpression* self, GString* sql, GError** error);
469 void tracker_sparql_pattern_translate_exists (TrackerSparqlPattern* self, GString* sql, GError** error);
470 void tracker_sparql_expression_append_expression_as_string (GString* sql, const gchar* expression, TrackerPropertyType type);
471 TrackerSparqlLiteralBinding* tracker_sparql_literal_binding_new (void);
472 TrackerSparqlLiteralBinding* tracker_sparql_literal_binding_construct (GType object_type);
473 GType tracker_sparql_literal_binding_get_type (void) G_GNUC_CONST;
474 gchar* tracker_sparql_pattern_parse_var_or_term (TrackerSparqlPattern* self, GString* sql, gboolean* is_var, GError** error);
475 static TrackerPropertyType tracker_sparql_expression_translate_function (TrackerSparqlExpression* self, GString* sql, const gchar* uri, GError** error);
476 static void tracker_sparql_expression_translate_str (TrackerSparqlExpression* self, GString* sql, GError** error);
477 static void tracker_sparql_expression_translate_isuri (TrackerSparqlExpression* self, GString* sql, GError** error);
478 static void tracker_sparql_expression_translate_datatype (TrackerSparqlExpression* self, GString* sql, GError** error);
479 gchar* tracker_sparql_variable_get_extra_sql_expression (TrackerSparqlVariable* self, const gchar* suffix);
480 static TrackerPropertyType tracker_sparql_expression_parse_type_uri (TrackerSparqlExpression* self, GError** error);
481 gchar* tracker_sparql_query_resolve_prefixed_name (TrackerSparqlQuery* self, const gchar* prefix, const gchar* local_name, GError** error);
482 static TrackerPropertyType tracker_sparql_expression_translate_uri_expression (TrackerSparqlExpression* self, GString* sql, const gchar* uri, GError** error);
483 static TrackerPropertyType tracker_sparql_expression_translate_primary_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
484 static TrackerPropertyType tracker_sparql_expression_translate_bracketted_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
485 gboolean tracker_sparql_query_get_no_cache (TrackerSparqlQuery* self);
486 void tracker_sparql_query_set_no_cache (TrackerSparqlQuery* self, gboolean value);
487 static TrackerPropertyType tracker_sparql_expression_translate_aggregate_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
488 static TrackerPropertyType tracker_sparql_expression_translate_unary_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
489 static TrackerPropertyType tracker_sparql_expression_translate_multiplicative_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
490 static TrackerPropertyType tracker_sparql_expression_translate_additive_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
491 static TrackerPropertyType tracker_sparql_expression_translate_numeric_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
492 static TrackerPropertyType tracker_sparql_expression_process_relational_expression (TrackerSparqlExpression* self, GString* sql, glong begin, guint n_bindings, TrackerPropertyType op1type, const gchar* operator, GError** error);
493 static TrackerPropertyType tracker_sparql_expression_translate_in (TrackerSparqlExpression* self, GString* sql, gboolean not, GError** error);
494 static TrackerPropertyType tracker_sparql_expression_translate_relational_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
495 static TrackerPropertyType tracker_sparql_expression_translate_value_logical (TrackerSparqlExpression* self, GString* sql, GError** error);
496 static TrackerPropertyType tracker_sparql_expression_translate_conditional_and_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
497 static TrackerPropertyType tracker_sparql_expression_translate_conditional_or_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
498 TrackerPropertyType tracker_sparql_expression_translate_constraint (TrackerSparqlExpression* self, GString* sql, GError** error);
499 static void tracker_sparql_expression_finalize (GObject* obj);
500 static void _vala_tracker_sparql_expression_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
501 static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
502 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
503 static gint _vala_array_length (gpointer array);
504
505
506 TrackerSparqlExpression* tracker_sparql_expression_construct (GType object_type, TrackerSparqlQuery* query) {
507 TrackerSparqlExpression * self = NULL;
508 TrackerSparqlQuery* _tmp0_;
509 #line 31 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
510 g_return_val_if_fail (query != NULL, NULL);
511 #line 31 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
512 self = (TrackerSparqlExpression*) g_object_new (object_type, NULL);
513 #line 32 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
514 _tmp0_ = query;
515 #line 32 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
516 self->priv->query = _tmp0_;
517 #line 31 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
518 return self;
519 #line 520 "tracker-sparql-expression.c"
520 }
521
522
523 TrackerSparqlExpression* tracker_sparql_expression_new (TrackerSparqlQuery* query) {
524 #line 31 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
525 return tracker_sparql_expression_construct (TRACKER_SPARQL_TYPE_EXPRESSION, query);
526 #line 527 "tracker-sparql-expression.c"
527 }
528
529
530 static inline gboolean tracker_sparql_expression_next (TrackerSparqlExpression* self, GError** error) {
531 gboolean result = FALSE;
532 TrackerSparqlQuery* _tmp0_;
533 gboolean _tmp1_ = FALSE;
534 gboolean _tmp2_;
535 GError * _inner_error_ = NULL;
536 #line 43 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
537 g_return_val_if_fail (self != NULL, FALSE);
538 #line 44 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
539 _tmp0_ = self->priv->query;
540 #line 44 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
541 _tmp1_ = tracker_sparql_query_next (_tmp0_, &_inner_error_);
542 #line 44 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
543 _tmp2_ = _tmp1_;
544 #line 44 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
545 if (_inner_error_ != NULL) {
546 #line 44 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
547 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
548 #line 44 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
549 g_propagate_error (error, _inner_error_);
550 #line 44 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
551 return FALSE;
552 #line 553 "tracker-sparql-expression.c"
553 } else {
554 #line 44 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
555 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
556 #line 44 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
557 g_clear_error (&_inner_error_);
558 #line 44 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
559 return FALSE;
560 #line 561 "tracker-sparql-expression.c"
561 }
562 }
563 #line 44 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
564 result = _tmp2_;
565 #line 44 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
566 return result;
567 #line 568 "tracker-sparql-expression.c"
568 }
569
570
571 static inline TrackerSparqlTokenType tracker_sparql_expression_current (TrackerSparqlExpression* self) {
572 TrackerSparqlTokenType result = 0;
573 TrackerSparqlQuery* _tmp0_;
574 TrackerSparqlTokenType _tmp1_ = 0;
575 #line 47 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
576 g_return_val_if_fail (self != NULL, 0);
577 #line 48 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
578 _tmp0_ = self->priv->query;
579 #line 48 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
580 _tmp1_ = tracker_sparql_query_current (_tmp0_);
581 #line 48 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
582 result = _tmp1_;
583 #line 48 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
584 return result;
585 #line 586 "tracker-sparql-expression.c"
586 }
587
588
589 static inline TrackerSparqlTokenType tracker_sparql_expression_last (TrackerSparqlExpression* self) {
590 TrackerSparqlTokenType result = 0;
591 TrackerSparqlQuery* _tmp0_;
592 TrackerSparqlTokenType _tmp1_ = 0;
593 #line 51 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
594 g_return_val_if_fail (self != NULL, 0);
595 #line 52 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
596 _tmp0_ = self->priv->query;
597 #line 52 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
598 _tmp1_ = tracker_sparql_query_last (_tmp0_);
599 #line 52 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
600 result = _tmp1_;
601 #line 52 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
602 return result;
603 #line 604 "tracker-sparql-expression.c"
604 }
605
606
607 static inline gboolean tracker_sparql_expression_accept (TrackerSparqlExpression* self, TrackerSparqlTokenType type, GError** error) {
608 gboolean result = FALSE;
609 TrackerSparqlQuery* _tmp0_;
610 TrackerSparqlTokenType _tmp1_;
611 gboolean _tmp2_ = FALSE;
612 gboolean _tmp3_;
613 GError * _inner_error_ = NULL;
614 #line 55 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
615 g_return_val_if_fail (self != NULL, FALSE);
616 #line 56 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
617 _tmp0_ = self->priv->query;
618 #line 56 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
619 _tmp1_ = type;
620 #line 56 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
621 _tmp2_ = tracker_sparql_query_accept (_tmp0_, _tmp1_, &_inner_error_);
622 #line 56 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
623 _tmp3_ = _tmp2_;
624 #line 56 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
625 if (_inner_error_ != NULL) {
626 #line 56 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
627 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
628 #line 56 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
629 g_propagate_error (error, _inner_error_);
630 #line 56 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
631 return FALSE;
632 #line 633 "tracker-sparql-expression.c"
633 } else {
634 #line 56 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
635 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
636 #line 56 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
637 g_clear_error (&_inner_error_);
638 #line 56 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
639 return FALSE;
640 #line 641 "tracker-sparql-expression.c"
641 }
642 }
643 #line 56 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
644 result = _tmp3_;
645 #line 56 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
646 return result;
647 #line 648 "tracker-sparql-expression.c"
648 }
649
650
651 static GError* tracker_sparql_expression_get_error (TrackerSparqlExpression* self, const gchar* msg) {
652 GError* result = NULL;
653 TrackerSparqlQuery* _tmp0_;
654 const gchar* _tmp1_;
655 GError* _tmp2_ = NULL;
656 #line 59 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
657 g_return_val_if_fail (self != NULL, NULL);
658 #line 59 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
659 g_return_val_if_fail (msg != NULL, NULL);
660 #line 60 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
661 _tmp0_ = self->priv->query;
662 #line 60 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
663 _tmp1_ = msg;
664 #line 60 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
665 _tmp2_ = tracker_sparql_query_get_error (_tmp0_, _tmp1_);
666 #line 60 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
667 result = _tmp2_;
668 #line 60 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
669 return result;
670 #line 671 "tracker-sparql-expression.c"
671 }
672
673
674 static gboolean tracker_sparql_expression_expect (TrackerSparqlExpression* self, TrackerSparqlTokenType type, GError** error) {
675 gboolean result = FALSE;
676 TrackerSparqlQuery* _tmp0_;
677 TrackerSparqlTokenType _tmp1_;
678 gboolean _tmp2_ = FALSE;
679 gboolean _tmp3_;
680 GError * _inner_error_ = NULL;
681 #line 63 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
682 g_return_val_if_fail (self != NULL, FALSE);
683 #line 64 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
684 _tmp0_ = self->priv->query;
685 #line 64 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
686 _tmp1_ = type;
687 #line 64 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
688 _tmp2_ = tracker_sparql_query_expect (_tmp0_, _tmp1_, &_inner_error_);
689 #line 64 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
690 _tmp3_ = _tmp2_;
691 #line 64 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
692 if (_inner_error_ != NULL) {
693 #line 64 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
694 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
695 #line 64 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
696 g_propagate_error (error, _inner_error_);
697 #line 64 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
698 return FALSE;
699 #line 700 "tracker-sparql-expression.c"
700 } else {
701 #line 64 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
702 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
703 #line 64 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
704 g_clear_error (&_inner_error_);
705 #line 64 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
706 return FALSE;
707 #line 708 "tracker-sparql-expression.c"
708 }
709 }
710 #line 64 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
711 result = _tmp3_;
712 #line 64 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
713 return result;
714 #line 715 "tracker-sparql-expression.c"
715 }
716
717
718 static gchar* tracker_sparql_expression_get_last_string (TrackerSparqlExpression* self, gint strip) {
719 gchar* result = NULL;
720 TrackerSparqlQuery* _tmp0_;
721 gint _tmp1_;
722 gchar* _tmp2_ = NULL;
723 #line 67 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
724 g_return_val_if_fail (self != NULL, NULL);
725 #line 68 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
726 _tmp0_ = self->priv->query;
727 #line 68 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
728 _tmp1_ = strip;
729 #line 68 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
730 _tmp2_ = tracker_sparql_query_get_last_string (_tmp0_, _tmp1_);
731 #line 68 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
732 result = _tmp2_;
733 #line 68 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
734 return result;
735 #line 736 "tracker-sparql-expression.c"
736 }
737
738
739 static gchar* tracker_sparql_expression_escape_sql_string_literal (TrackerSparqlExpression* self, const gchar* literal) {
740 gchar* result = NULL;
741 const gchar* _tmp0_;
742 gchar** _tmp1_;
743 gchar** _tmp2_ = NULL;
744 gchar** _tmp3_;
745 gint _tmp3__length1;
746 gchar* _tmp4_ = NULL;
747 gchar* _tmp5_;
748 gchar* _tmp6_ = NULL;
749 gchar* _tmp7_;
750 #line 71 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
751 g_return_val_if_fail (self != NULL, NULL);
752 #line 71 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
753 g_return_val_if_fail (literal != NULL, NULL);
754 #line 72 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
755 _tmp0_ = literal;
756 #line 72 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
757 _tmp2_ = _tmp1_ = g_strsplit (_tmp0_, "'", 0);
758 #line 72 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
759 _tmp3_ = _tmp2_;
760 #line 72 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
761 _tmp3__length1 = _vala_array_length (_tmp1_);
762 #line 72 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
763 _tmp4_ = g_strjoinv ("''", _tmp3_);
764 #line 72 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
765 _tmp5_ = _tmp4_;
766 #line 72 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
767 _tmp6_ = g_strdup_printf ("'%s'", _tmp5_);
768 #line 72 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
769 _tmp7_ = _tmp6_;
770 #line 72 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
771 _g_free0 (_tmp5_);
772 #line 72 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
773 _tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL);
774 #line 72 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
775 result = _tmp7_;
776 #line 72 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
777 return result;
778 #line 779 "tracker-sparql-expression.c"
779 }
780
781
782 static gboolean tracker_sparql_expression_maybe_numeric (TrackerSparqlExpression* self, TrackerPropertyType type) {
783 gboolean result = FALSE;
784 gboolean _tmp0_ = FALSE;
785 gboolean _tmp1_ = FALSE;
786 gboolean _tmp2_ = FALSE;
787 gboolean _tmp3_ = FALSE;
788 TrackerPropertyType _tmp4_;
789 gboolean _tmp6_;
790 gboolean _tmp8_;
791 gboolean _tmp10_;
792 gboolean _tmp12_;
793 #line 75 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
794 g_return_val_if_fail (self != NULL, FALSE);
795 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
796 _tmp4_ = type;
797 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
798 if (_tmp4_ == TRACKER_PROPERTY_TYPE_INTEGER) {
799 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
800 _tmp3_ = TRUE;
801 #line 802 "tracker-sparql-expression.c"
802 } else {
803 TrackerPropertyType _tmp5_;
804 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
805 _tmp5_ = type;
806 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
807 _tmp3_ = _tmp5_ == TRACKER_PROPERTY_TYPE_DOUBLE;
808 #line 809 "tracker-sparql-expression.c"
809 }
810 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
811 _tmp6_ = _tmp3_;
812 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
813 if (_tmp6_) {
814 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
815 _tmp2_ = TRUE;
816 #line 817 "tracker-sparql-expression.c"
817 } else {
818 TrackerPropertyType _tmp7_;
819 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
820 _tmp7_ = type;
821 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
822 _tmp2_ = _tmp7_ == TRACKER_PROPERTY_TYPE_DATE;
823 #line 824 "tracker-sparql-expression.c"
824 }
825 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
826 _tmp8_ = _tmp2_;
827 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
828 if (_tmp8_) {
829 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
830 _tmp1_ = TRUE;
831 #line 832 "tracker-sparql-expression.c"
832 } else {
833 TrackerPropertyType _tmp9_;
834 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
835 _tmp9_ = type;
836 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
837 _tmp1_ = _tmp9_ == TRACKER_PROPERTY_TYPE_DATETIME;
838 #line 839 "tracker-sparql-expression.c"
839 }
840 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
841 _tmp10_ = _tmp1_;
842 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
843 if (_tmp10_) {
844 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
845 _tmp0_ = TRUE;
846 #line 847 "tracker-sparql-expression.c"
847 } else {
848 TrackerPropertyType _tmp11_;
849 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
850 _tmp11_ = type;
851 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
852 _tmp0_ = _tmp11_ == TRACKER_PROPERTY_TYPE_UNKNOWN;
853 #line 854 "tracker-sparql-expression.c"
854 }
855 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
856 _tmp12_ = _tmp0_;
857 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
858 result = _tmp12_;
859 #line 76 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
860 return result;
861 #line 862 "tracker-sparql-expression.c"
862 }
863
864
865 static void tracker_sparql_expression_append_collate (TrackerSparqlExpression* self, GString* sql) {
866 GString* _tmp0_;
867 #line 79 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
868 g_return_if_fail (self != NULL);
869 #line 79 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
870 g_return_if_fail (sql != NULL);
871 #line 80 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
872 _tmp0_ = sql;
873 #line 80 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
874 g_string_append_printf (_tmp0_, " COLLATE %s", TRACKER_COLLATION_NAME);
875 #line 876 "tracker-sparql-expression.c"
876 }
877
878
879 static void tracker_sparql_expression_skip_bracketted_expression (TrackerSparqlExpression* self, GError** error) {
880 GError * _inner_error_ = NULL;
881 #line 83 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
882 g_return_if_fail (self != NULL);
883 #line 84 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
884 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
885 #line 84 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
886 if (_inner_error_ != NULL) {
887 #line 84 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
888 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
889 #line 84 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
890 g_propagate_error (error, _inner_error_);
891 #line 84 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
892 return;
893 #line 894 "tracker-sparql-expression.c"
894 } else {
895 #line 84 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
896 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
897 #line 84 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
898 g_clear_error (&_inner_error_);
899 #line 84 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
900 return;
901 #line 902 "tracker-sparql-expression.c"
902 }
903 }
904 #line 85 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
905 while (TRUE) {
906 #line 907 "tracker-sparql-expression.c"
907 TrackerSparqlTokenType _tmp0_ = 0;
908 #line 86 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
909 _tmp0_ = tracker_sparql_expression_current (self);
910 #line 86 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
911 switch (_tmp0_) {
912 #line 86 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
913 case TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS:
914 #line 915 "tracker-sparql-expression.c"
915 {
916 #line 89 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
917 tracker_sparql_expression_skip_bracketted_expression (self, &_inner_error_);
918 #line 89 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
919 if (_inner_error_ != NULL) {
920 #line 89 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
921 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
922 #line 89 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
923 g_propagate_error (error, _inner_error_);
924 #line 89 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
925 return;
926 #line 927 "tracker-sparql-expression.c"
927 } else {
928 #line 89 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
929 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
930 #line 89 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
931 g_clear_error (&_inner_error_);
932 #line 89 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
933 return;
934 #line 935 "tracker-sparql-expression.c"
935 }
936 }
937 #line 90 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
938 continue;
939 #line 940 "tracker-sparql-expression.c"
940 }
941 #line 86 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
942 case TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS:
943 #line 86 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
944 case TRACKER_SPARQL_TOKEN_TYPE_EOF:
945 #line 946 "tracker-sparql-expression.c"
946 {
947 #line 93 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
948 break;
949 #line 950 "tracker-sparql-expression.c"
950 }
951 default:
952 {
953 #line 95 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
954 tracker_sparql_expression_next (self, &_inner_error_);
955 #line 95 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
956 if (_inner_error_ != NULL) {
957 #line 95 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
958 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
959 #line 95 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
960 g_propagate_error (error, _inner_error_);
961 #line 95 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
962 return;
963 #line 964 "tracker-sparql-expression.c"
964 } else {
965 #line 95 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
966 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
967 #line 95 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
968 g_clear_error (&_inner_error_);
969 #line 95 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
970 return;
971 #line 972 "tracker-sparql-expression.c"
972 }
973 }
974 #line 96 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
975 continue;
976 #line 977 "tracker-sparql-expression.c"
977 }
978 }
979 #line 98 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
980 break;
981 #line 982 "tracker-sparql-expression.c"
982 }
983 #line 100 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
984 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
985 #line 100 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
986 if (_inner_error_ != NULL) {
987 #line 100 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
988 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
989 #line 100 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
990 g_propagate_error (error, _inner_error_);
991 #line 100 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
992 return;
993 #line 994 "tracker-sparql-expression.c"
994 } else {
995 #line 100 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
996 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
997 #line 100 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
998 g_clear_error (&_inner_error_);
999 #line 100 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1000 return;
1001 #line 1002 "tracker-sparql-expression.c"
1002 }
1003 }
1004 }
1005
1006
1007 void tracker_sparql_expression_skip_select_variables (TrackerSparqlExpression* self, GError** error) {
1008 GError * _inner_error_ = NULL;
1009 #line 103 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1010 g_return_if_fail (self != NULL);
1011 #line 104 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1012 while (TRUE) {
1013 #line 1014 "tracker-sparql-expression.c"
1014 TrackerSparqlTokenType _tmp0_ = 0;
1015 #line 105 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1016 _tmp0_ = tracker_sparql_expression_current (self);
1017 #line 105 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1018 switch (_tmp0_) {
1019 #line 105 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1020 case TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS:
1021 #line 1022 "tracker-sparql-expression.c"
1022 {
1023 #line 107 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1024 tracker_sparql_expression_skip_bracketted_expression (self, &_inner_error_);
1025 #line 107 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1026 if (_inner_error_ != NULL) {
1027 #line 107 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1028 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
1029 #line 107 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1030 g_propagate_error (error, _inner_error_);
1031 #line 107 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1032 return;
1033 #line 1034 "tracker-sparql-expression.c"
1034 } else {
1035 #line 107 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1036 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1037 #line 107 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1038 g_clear_error (&_inner_error_);
1039 #line 107 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1040 return;
1041 #line 1042 "tracker-sparql-expression.c"
1042 }
1043 }
1044 #line 108 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1045 continue;
1046 #line 1047 "tracker-sparql-expression.c"
1047 }
1048 #line 105 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1049 case TRACKER_SPARQL_TOKEN_TYPE_FROM:
1050 #line 105 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1051 case TRACKER_SPARQL_TOKEN_TYPE_WHERE:
1052 #line 105 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1053 case TRACKER_SPARQL_TOKEN_TYPE_OPEN_BRACE:
1054 #line 105 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1055 case TRACKER_SPARQL_TOKEN_TYPE_GROUP:
1056 #line 105 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1057 case TRACKER_SPARQL_TOKEN_TYPE_ORDER:
1058 #line 105 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1059 case TRACKER_SPARQL_TOKEN_TYPE_LIMIT:
1060 #line 105 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1061 case TRACKER_SPARQL_TOKEN_TYPE_OFFSET:
1062 #line 105 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1063 case TRACKER_SPARQL_TOKEN_TYPE_EOF:
1064 #line 1065 "tracker-sparql-expression.c"
1065 {
1066 #line 117 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1067 break;
1068 #line 1069 "tracker-sparql-expression.c"
1069 }
1070 default:
1071 {
1072 #line 119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1073 tracker_sparql_expression_next (self, &_inner_error_);
1074 #line 119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1075 if (_inner_error_ != NULL) {
1076 #line 119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1077 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
1078 #line 119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1079 g_propagate_error (error, _inner_error_);
1080 #line 119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1081 return;
1082 #line 1083 "tracker-sparql-expression.c"
1083 } else {
1084 #line 119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1085 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1086 #line 119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1087 g_clear_error (&_inner_error_);
1088 #line 119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1089 return;
1090 #line 1091 "tracker-sparql-expression.c"
1091 }
1092 }
1093 #line 120 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1094 continue;
1095 #line 1096 "tracker-sparql-expression.c"
1096 }
1097 }
1098 #line 122 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1099 break;
1100 #line 1101 "tracker-sparql-expression.c"
1101 }
1102 }
1103
1104
1105 static glong string_strnlen (gchar* str, glong maxlen) {
1106 glong result = 0L;
1107 gchar* _tmp0_;
1108 glong _tmp1_;
1109 gchar* _tmp2_ = NULL;
1110 gchar* end;
1111 gchar* _tmp3_;
1112 #line 1147 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1113 _tmp0_ = str;
1114 #line 1147 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1115 _tmp1_ = maxlen;
1116 #line 1147 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1117 _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
1118 #line 1147 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1119 end = _tmp2_;
1120 #line 1148 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1121 _tmp3_ = end;
1122 #line 1148 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1123 if (_tmp3_ == NULL) {
1124 #line 1125 "tracker-sparql-expression.c"
1125 glong _tmp4_;
1126 #line 1149 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1127 _tmp4_ = maxlen;
1128 #line 1149 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1129 result = _tmp4_;
1130 #line 1149 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1131 return result;
1132 #line 1133 "tracker-sparql-expression.c"
1133 } else {
1134 gchar* _tmp5_;
1135 gchar* _tmp6_;
1136 #line 1151 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1137 _tmp5_ = end;
1138 #line 1151 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1139 _tmp6_ = str;
1140 #line 1151 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1141 result = (glong) (_tmp5_ - _tmp6_);
1142 #line 1151 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1143 return result;
1144 #line 1145 "tracker-sparql-expression.c"
1145 }
1146 }
1147
1148
1149 static gchar* string_substring (const gchar* self, glong offset, glong len) {
1150 gchar* result = NULL;
1151 glong string_length = 0L;
1152 gboolean _tmp0_ = FALSE;
1153 glong _tmp1_;
1154 gboolean _tmp3_;
1155 glong _tmp9_;
1156 glong _tmp15_;
1157 glong _tmp18_;
1158 glong _tmp19_;
1159 glong _tmp20_;
1160 glong _tmp21_;
1161 glong _tmp22_;
1162 gchar* _tmp23_ = NULL;
1163 #line 1158 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1164 g_return_val_if_fail (self != NULL, NULL);
1165 #line 1160 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1166 _tmp1_ = offset;
1167 #line 1160 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1168 if (_tmp1_ >= ((glong) 0)) {
1169 #line 1170 "tracker-sparql-expression.c"
1170 glong _tmp2_;
1171 #line 1160 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1172 _tmp2_ = len;
1173 #line 1160 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1174 _tmp0_ = _tmp2_ >= ((glong) 0);
1175 #line 1176 "tracker-sparql-expression.c"
1176 } else {
1177 #line 1160 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1178 _tmp0_ = FALSE;
1179 #line 1180 "tracker-sparql-expression.c"
1180 }
1181 #line 1160 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1182 _tmp3_ = _tmp0_;
1183 #line 1160 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1184 if (_tmp3_) {
1185 #line 1186 "tracker-sparql-expression.c"
1186 glong _tmp4_;
1187 glong _tmp5_;
1188 glong _tmp6_ = 0L;
1189 #line 1162 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1190 _tmp4_ = offset;
1191 #line 1162 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1192 _tmp5_ = len;
1193 #line 1162 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1194 _tmp6_ = string_strnlen ((gchar*) self, _tmp4_ + _tmp5_);
1195 #line 1162 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1196 string_length = _tmp6_;
1197 #line 1198 "tracker-sparql-expression.c"
1198 } else {
1199 gint _tmp7_;
1200 gint _tmp8_;
1201 #line 1164 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1202 _tmp7_ = strlen (self);
1203 #line 1164 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1204 _tmp8_ = _tmp7_;
1205 #line 1164 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1206 string_length = (glong) _tmp8_;
1207 #line 1208 "tracker-sparql-expression.c"
1208 }
1209 #line 1167 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1210 _tmp9_ = offset;
1211 #line 1167 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1212 if (_tmp9_ < ((glong) 0)) {
1213 #line 1214 "tracker-sparql-expression.c"
1214 glong _tmp10_;
1215 glong _tmp11_;
1216 glong _tmp12_;
1217 #line 1168 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1218 _tmp10_ = string_length;
1219 #line 1168 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1220 _tmp11_ = offset;
1221 #line 1168 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1222 offset = _tmp10_ + _tmp11_;
1223 #line 1169 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1224 _tmp12_ = offset;
1225 #line 1169 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1226 g_return_val_if_fail (_tmp12_ >= ((glong) 0), NULL);
1227 #line 1228 "tracker-sparql-expression.c"
1228 } else {
1229 glong _tmp13_;
1230 glong _tmp14_;
1231 #line 1171 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1232 _tmp13_ = offset;
1233 #line 1171 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1234 _tmp14_ = string_length;
1235 #line 1171 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1236 g_return_val_if_fail (_tmp13_ <= _tmp14_, NULL);
1237 #line 1238 "tracker-sparql-expression.c"
1238 }
1239 #line 1173 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1240 _tmp15_ = len;
1241 #line 1173 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1242 if (_tmp15_ < ((glong) 0)) {
1243 #line 1244 "tracker-sparql-expression.c"
1244 glong _tmp16_;
1245 glong _tmp17_;
1246 #line 1174 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1247 _tmp16_ = string_length;
1248 #line 1174 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1249 _tmp17_ = offset;
1250 #line 1174 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1251 len = _tmp16_ - _tmp17_;
1252 #line 1253 "tracker-sparql-expression.c"
1253 }
1254 #line 1176 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1255 _tmp18_ = offset;
1256 #line 1176 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1257 _tmp19_ = len;
1258 #line 1176 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1259 _tmp20_ = string_length;
1260 #line 1176 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1261 g_return_val_if_fail ((_tmp18_ + _tmp19_) <= _tmp20_, NULL);
1262 #line 1177 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1263 _tmp21_ = offset;
1264 #line 1177 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1265 _tmp22_ = len;
1266 #line 1177 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1267 _tmp23_ = g_strndup (((gchar*) self) + _tmp21_, (gsize) _tmp22_);
1268 #line 1177 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1269 result = _tmp23_;
1270 #line 1177 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
1271 return result;
1272 #line 1273 "tracker-sparql-expression.c"
1273 }
1274
1275
1276 static gpointer _g_object_ref0 (gpointer self) {
1277 #line 136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1278 return self ? g_object_ref (self) : NULL;
1279 #line 1280 "tracker-sparql-expression.c"
1280 }
1281
1282
1283 static void _vala_array_add1 (gchar*** array, int* length, int* size, gchar* value) {
1284 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1285 if ((*length) == (*size)) {
1286 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1287 *size = (*size) ? (2 * (*size)) : 4;
1288 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1289 *array = g_renew (gchar*, *array, (*size) + 1);
1290 #line 1291 "tracker-sparql-expression.c"
1291 }
1292 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1293 (*array)[(*length)++] = value;
1294 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1295 (*array)[*length] = NULL;
1296 #line 1297 "tracker-sparql-expression.c"
1297 }
1298
1299
1300 static void _vala_array_add2 (gchar*** array, int* length, int* size, gchar* value) {
1301 #line 209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1302 if ((*length) == (*size)) {
1303 #line 209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1304 *size = (*size) ? (2 * (*size)) : 4;
1305 #line 209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1306 *array = g_renew (gchar*, *array, (*size) + 1);
1307 #line 1308 "tracker-sparql-expression.c"
1308 }
1309 #line 209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1310 (*array)[(*length)++] = value;
1311 #line 209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1312 (*array)[*length] = NULL;
1313 #line 1314 "tracker-sparql-expression.c"
1314 }
1315
1316
1317 static void _vala_array_add3 (gchar*** array, int* length, int* size, gchar* value) {
1318 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1319 if ((*length) == (*size)) {
1320 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1321 *size = (*size) ? (2 * (*size)) : 4;
1322 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1323 *array = g_renew (gchar*, *array, (*size) + 1);
1324 #line 1325 "tracker-sparql-expression.c"
1325 }
1326 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1327 (*array)[(*length)++] = value;
1328 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1329 (*array)[*length] = NULL;
1330 #line 1331 "tracker-sparql-expression.c"
1331 }
1332
1333
1334 static void _vala_array_add4 (gchar*** array, int* length, int* size, gchar* value) {
1335 #line 227 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1336 if ((*length) == (*size)) {
1337 #line 227 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1338 *size = (*size) ? (2 * (*size)) : 4;
1339 #line 227 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1340 *array = g_renew (gchar*, *array, (*size) + 1);
1341 #line 1342 "tracker-sparql-expression.c"
1342 }
1343 #line 227 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1344 (*array)[(*length)++] = value;
1345 #line 227 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1346 (*array)[*length] = NULL;
1347 #line 1348 "tracker-sparql-expression.c"
1348 }
1349
1350
1351 TrackerPropertyType tracker_sparql_expression_translate_select_expression (TrackerSparqlExpression* self, GString* sql, gboolean subquery, gint variable_index, GError** error) {
1352 TrackerPropertyType result = 0;
1353 TrackerSparqlVariable* variable;
1354 gboolean expect_close_parens;
1355 gboolean as_handled;
1356 GString* _tmp0_;
1357 gssize _tmp1_;
1358 glong begin;
1359 TrackerPropertyType type;
1360 TrackerSparqlTokenType _tmp2_ = 0;
1361 gboolean _tmp42_;
1362 gboolean _tmp46_ = FALSE;
1363 gboolean _tmp47_;
1364 TrackerSparqlPattern* _tmp83_;
1365 TrackerSparqlPattern* _tmp84_;
1366 TrackerSparqlVariable* _tmp85_;
1367 gboolean _tmp118_;
1368 TrackerSparqlVariable* _tmp119_;
1369 GError * _inner_error_ = NULL;
1370 #line 126 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1371 g_return_val_if_fail (self != NULL, 0);
1372 #line 126 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1373 g_return_val_if_fail (sql != NULL, 0);
1374 #line 127 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1375 variable = NULL;
1376 #line 128 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1377 expect_close_parens = FALSE;
1378 #line 129 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1379 as_handled = FALSE;
1380 #line 131 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1381 _tmp0_ = sql;
1382 #line 131 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1383 _tmp1_ = _tmp0_->len;
1384 #line 131 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1385 begin = (glong) _tmp1_;
1386 #line 132 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1387 type = TRACKER_PROPERTY_TYPE_UNKNOWN;
(emitted by clang-analyzer)TODO: a detailed trace is available in the data model (not yet rendered in this report)
1388 #line 133 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1389 _tmp2_ = tracker_sparql_expression_current (self);
1390 #line 133 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1391 if (_tmp2_ == TRACKER_SPARQL_TOKEN_TYPE_VAR) {
1392 #line 1393 "tracker-sparql-expression.c"
1393 GString* _tmp3_;
1394 TrackerPropertyType _tmp4_ = 0;
1395 TrackerPropertyType _tmp5_;
1396 TrackerSparqlContext* _tmp6_;
1397 TrackerSparqlContext* _tmp7_;
1398 gchar* _tmp8_ = NULL;
1399 gchar* _tmp9_;
1400 gchar* _tmp10_ = NULL;
1401 gchar* _tmp11_;
1402 TrackerSparqlVariable* _tmp12_ = NULL;
1403 TrackerSparqlVariable* _tmp13_;
1404 TrackerSparqlVariable* _tmp14_;
1405 TrackerSparqlVariableBinding* _tmp15_;
1406 #line 134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1407 _tmp3_ = sql;
1408 #line 134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1409 _tmp4_ = tracker_sparql_expression_translate_expression (self, _tmp3_, &_inner_error_);
1410 #line 134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1411 _tmp5_ = _tmp4_;
1412 #line 134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1413 if (_inner_error_ != NULL) {
1414 #line 134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1415 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
1416 #line 134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1417 g_propagate_error (error, _inner_error_);
1418 #line 134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1419 _g_object_unref0 (variable);
1420 #line 134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1421 return 0;
1422 #line 1423 "tracker-sparql-expression.c"
1423 } else {
1424 #line 134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1425 _g_object_unref0 (variable);
1426 #line 134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1427 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1428 #line 134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1429 g_clear_error (&_inner_error_);
1430 #line 134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1431 return 0;
1432 #line 1433 "tracker-sparql-expression.c"
1433 }
1434 }
1435 #line 134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1436 type = _tmp5_;
1437 #line 136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1438 _tmp6_ = tracker_sparql_expression_get_context (self);
1439 #line 136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1440 _tmp7_ = _tmp6_;
1441 #line 136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1442 _tmp8_ = tracker_sparql_expression_get_last_string (self, 0);
1443 #line 136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1444 _tmp9_ = _tmp8_;
1445 #line 136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1446 _tmp10_ = string_substring (_tmp9_, (glong) 1, (glong) (-1));
1447 #line 136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1448 _tmp11_ = _tmp10_;
1449 #line 136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1450 _tmp12_ = tracker_sparql_context_get_variable (_tmp7_, _tmp11_);
1451 #line 136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1452 _tmp13_ = _g_object_ref0 (_tmp12_);
1453 #line 136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1454 _g_object_unref0 (variable);
1455 #line 136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1456 variable = _tmp13_;
1457 #line 136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1458 _g_free0 (_tmp11_);
1459 #line 136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1460 _g_free0 (_tmp9_);
1461 #line 138 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1462 _tmp14_ = variable;
1463 #line 138 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1464 _tmp15_ = _tmp14_->binding;
1465 #line 138 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1466 if (_tmp15_ == NULL) {
1467 #line 1468 "tracker-sparql-expression.c"
1468 TrackerSparqlVariable* _tmp16_;
1469 const gchar* _tmp17_;
1470 const gchar* _tmp18_;
1471 gchar* _tmp19_ = NULL;
1472 gchar* _tmp20_;
1473 GError* _tmp21_ = NULL;
1474 GError* _tmp22_;
1475 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1476 _tmp16_ = variable;
1477 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1478 _tmp17_ = tracker_sparql_variable_get_name (_tmp16_);
1479 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1480 _tmp18_ = _tmp17_;
1481 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1482 _tmp19_ = g_strdup_printf ("use of undefined variable `%s'", _tmp18_);
1483 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1484 _tmp20_ = _tmp19_;
1485 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1486 _tmp21_ = tracker_sparql_expression_get_error (self, _tmp20_);
1487 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1488 _tmp22_ = _tmp21_;
1489 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1490 _g_free0 (_tmp20_);
1491 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1492 _inner_error_ = _tmp22_;
1493 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1494 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
1495 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1496 g_propagate_error (error, _inner_error_);
1497 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1498 _g_object_unref0 (variable);
1499 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1500 return 0;
1501 #line 1502 "tracker-sparql-expression.c"
1502 } else {
1503 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1504 _g_object_unref0 (variable);
1505 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1506 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1507 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1508 g_clear_error (&_inner_error_);
1509 #line 139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1510 return 0;
1511 #line 1512 "tracker-sparql-expression.c"
1512 }
1513 }
1514 } else {
1515 gboolean _tmp23_ = FALSE;
1516 gboolean _tmp24_;
1517 #line 141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1518 _tmp23_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
1519 #line 141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1520 _tmp24_ = _tmp23_;
1521 #line 141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1522 if (_inner_error_ != NULL) {
1523 #line 141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1524 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
1525 #line 141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1526 g_propagate_error (error, _inner_error_);
1527 #line 141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1528 _g_object_unref0 (variable);
1529 #line 141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1530 return 0;
1531 #line 1532 "tracker-sparql-expression.c"
1532 } else {
1533 #line 141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1534 _g_object_unref0 (variable);
1535 #line 141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1536 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1537 #line 141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1538 g_clear_error (&_inner_error_);
1539 #line 141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1540 return 0;
1541 #line 1542 "tracker-sparql-expression.c"
1542 }
1543 }
1544 #line 141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1545 if (_tmp24_) {
1546 #line 1547 "tracker-sparql-expression.c"
1547 TrackerSparqlTokenType _tmp25_ = 0;
1548 #line 142 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1549 _tmp25_ = tracker_sparql_expression_current (self);
1550 #line 142 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1551 if (_tmp25_ == TRACKER_SPARQL_TOKEN_TYPE_SELECT) {
1552 #line 1553 "tracker-sparql-expression.c"
1553 GString* _tmp26_;
1554 TrackerSparqlPattern* _tmp27_;
1555 TrackerSparqlPattern* _tmp28_;
1556 GString* _tmp29_;
1557 TrackerSparqlSelectContext* _tmp30_ = NULL;
1558 TrackerSparqlSelectContext* select_context;
1559 GString* _tmp31_;
1560 TrackerSparqlSelectContext* _tmp32_;
1561 TrackerPropertyType _tmp33_;
1562 #line 145 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1563 _tmp26_ = sql;
1564 #line 145 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1565 g_string_append (_tmp26_, "(");
1566 #line 146 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1567 _tmp27_ = tracker_sparql_expression_get_pattern (self);
1568 #line 146 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1569 _tmp28_ = _tmp27_;
1570 #line 146 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1571 _tmp29_ = sql;
1572 #line 146 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1573 _tmp30_ = tracker_sparql_pattern_translate_select (_tmp28_, _tmp29_, TRUE, TRUE, &_inner_error_);
1574 #line 146 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1575 select_context = _tmp30_;
1576 #line 146 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1577 if (_inner_error_ != NULL) {
1578 #line 146 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1579 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
1580 #line 146 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1581 g_propagate_error (error, _inner_error_);
1582 #line 146 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1583 _g_object_unref0 (variable);
1584 #line 146 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1585 return 0;
1586 #line 1587 "tracker-sparql-expression.c"
1587 } else {
1588 #line 146 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1589 _g_object_unref0 (variable);
1590 #line 146 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1591 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1592 #line 146 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1593 g_clear_error (&_inner_error_);
1594 #line 146 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1595 return 0;
1596 #line 1597 "tracker-sparql-expression.c"
1597 }
1598 }
1599 #line 147 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1600 _tmp31_ = sql;
1601 #line 147 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1602 g_string_append (_tmp31_, ")");
1603 #line 149 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1604 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
1605 #line 149 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1606 if (_inner_error_ != NULL) {
1607 #line 149 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1608 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
1609 #line 149 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1610 g_propagate_error (error, _inner_error_);
1611 #line 149 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1612 _tracker_sparql_context_unref0 (select_context);
1613 #line 149 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1614 _g_object_unref0 (variable);
1615 #line 149 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1616 return 0;
1617 #line 1618 "tracker-sparql-expression.c"
1618 } else {
1619 #line 149 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1620 _tracker_sparql_context_unref0 (select_context);
1621 #line 149 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1622 _g_object_unref0 (variable);
1623 #line 149 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1624 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1625 #line 149 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1626 g_clear_error (&_inner_error_);
1627 #line 149 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1628 return 0;
1629 #line 1630 "tracker-sparql-expression.c"
1630 }
1631 }
1632 #line 150 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1633 _tmp32_ = select_context;
1634 #line 150 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1635 _tmp33_ = _tmp32_->type;
1636 #line 150 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1637 type = _tmp33_;
1638 #line 142 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1639 _tracker_sparql_context_unref0 (select_context);
1640 #line 1641 "tracker-sparql-expression.c"
1641 } else {
1642 GString* _tmp34_;
1643 TrackerPropertyType _tmp35_ = 0;
1644 TrackerPropertyType _tmp36_;
1645 gboolean _tmp37_ = FALSE;
1646 gboolean _tmp38_;
1647 #line 152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1648 _tmp34_ = sql;
1649 #line 152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1650 _tmp35_ = tracker_sparql_expression_translate_expression (self, _tmp34_, &_inner_error_);
1651 #line 152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1652 _tmp36_ = _tmp35_;
1653 #line 152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1654 if (_inner_error_ != NULL) {
1655 #line 152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1656 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
1657 #line 152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1658 g_propagate_error (error, _inner_error_);
1659 #line 152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1660 _g_object_unref0 (variable);
1661 #line 152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1662 return 0;
1663 #line 1664 "tracker-sparql-expression.c"
1664 } else {
1665 #line 152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1666 _g_object_unref0 (variable);
1667 #line 152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1668 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1669 #line 152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1670 g_clear_error (&_inner_error_);
1671 #line 152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1672 return 0;
1673 #line 1674 "tracker-sparql-expression.c"
1674 }
1675 }
1676 #line 152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1677 type = _tmp36_;
1678 #line 153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1679 _tmp37_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
1680 #line 153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1681 _tmp38_ = _tmp37_;
1682 #line 153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1683 if (_inner_error_ != NULL) {
1684 #line 153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1685 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
1686 #line 153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1687 g_propagate_error (error, _inner_error_);
1688 #line 153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1689 _g_object_unref0 (variable);
1690 #line 153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1691 return 0;
1692 #line 1693 "tracker-sparql-expression.c"
1693 } else {
1694 #line 153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1695 _g_object_unref0 (variable);
1696 #line 153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1697 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1698 #line 153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1699 g_clear_error (&_inner_error_);
1700 #line 153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1701 return 0;
1702 #line 1703 "tracker-sparql-expression.c"
1703 }
1704 }
1705 #line 153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1706 if (_tmp38_) {
1707 #line 1708 "tracker-sparql-expression.c"
1708 } else {
1709 #line 159 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1710 expect_close_parens = TRUE;
1711 #line 1712 "tracker-sparql-expression.c"
1712 }
1713 }
1714 } else {
1715 GString* _tmp39_;
1716 TrackerPropertyType _tmp40_ = 0;
1717 TrackerPropertyType _tmp41_;
1718 #line 165 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1719 _tmp39_ = sql;
1720 #line 165 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1721 _tmp40_ = tracker_sparql_expression_translate_expression (self, _tmp39_, &_inner_error_);
1722 #line 165 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1723 _tmp41_ = _tmp40_;
1724 #line 165 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1725 if (_inner_error_ != NULL) {
1726 #line 165 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1727 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
1728 #line 165 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1729 g_propagate_error (error, _inner_error_);
1730 #line 165 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1731 _g_object_unref0 (variable);
1732 #line 165 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1733 return 0;
1734 #line 1735 "tracker-sparql-expression.c"
1735 } else {
1736 #line 165 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1737 _g_object_unref0 (variable);
1738 #line 165 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1739 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1740 #line 165 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1741 g_clear_error (&_inner_error_);
1742 #line 165 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1743 return 0;
1744 #line 1745 "tracker-sparql-expression.c"
1745 }
1746 }
1747 #line 165 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1748 type = _tmp41_;
1749 #line 1750 "tracker-sparql-expression.c"
1750 }
1751 }
1752 #line 168 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1753 _tmp42_ = subquery;
1754 #line 168 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1755 if (!_tmp42_) {
1756 #line 1757 "tracker-sparql-expression.c"
1757 GString* _tmp43_;
1758 TrackerPropertyType _tmp44_;
1759 glong _tmp45_;
1760 #line 169 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1761 _tmp43_ = sql;
1762 #line 169 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1763 _tmp44_ = type;
1764 #line 169 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1765 _tmp45_ = begin;
1766 #line 169 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1767 tracker_sparql_expression_convert_expression_to_string (_tmp43_, _tmp44_, _tmp45_);
1768 #line 1769 "tracker-sparql-expression.c"
1769 }
1770 #line 172 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1771 _tmp46_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_AS, &_inner_error_);
1772 #line 172 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1773 _tmp47_ = _tmp46_;
1774 #line 172 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1775 if (_inner_error_ != NULL) {
1776 #line 172 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1777 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
1778 #line 172 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1779 g_propagate_error (error, _inner_error_);
1780 #line 172 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1781 _g_object_unref0 (variable);
1782 #line 172 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1783 return 0;
1784 #line 1785 "tracker-sparql-expression.c"
1785 } else {
1786 #line 172 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1787 _g_object_unref0 (variable);
1788 #line 172 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1789 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1790 #line 172 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1791 g_clear_error (&_inner_error_);
1792 #line 172 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1793 return 0;
1794 #line 1795 "tracker-sparql-expression.c"
1795 }
1796 }
1797 #line 172 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1798 if (_tmp47_) {
1799 #line 1800 "tracker-sparql-expression.c"
1800 gboolean _tmp48_ = FALSE;
1801 gboolean _tmp49_;
1802 GString* _tmp64_;
1803 TrackerSparqlVariable* _tmp65_;
1804 const gchar* _tmp66_;
1805 const gchar* _tmp67_;
1806 gboolean _tmp68_;
1807 #line 173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1808 _tmp48_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX, &_inner_error_);
1809 #line 173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1810 _tmp49_ = _tmp48_;
1811 #line 173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1812 if (_inner_error_ != NULL) {
1813 #line 173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1814 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
1815 #line 173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1816 g_propagate_error (error, _inner_error_);
1817 #line 173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1818 _g_object_unref0 (variable);
1819 #line 173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1820 return 0;
1821 #line 1822 "tracker-sparql-expression.c"
1822 } else {
1823 #line 173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1824 _g_object_unref0 (variable);
1825 #line 173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1826 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1827 #line 173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1828 g_clear_error (&_inner_error_);
1829 #line 173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1830 return 0;
1831 #line 1832 "tracker-sparql-expression.c"
1832 }
1833 }
1834 #line 173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1835 if (_tmp49_) {
1836 #line 1837 "tracker-sparql-expression.c"
1837 TrackerSparqlContext* _tmp50_;
1838 TrackerSparqlContext* _tmp51_;
1839 gchar* _tmp52_ = NULL;
1840 gchar* _tmp53_;
1841 TrackerSparqlVariable* _tmp54_ = NULL;
1842 TrackerSparqlVariable* _tmp55_;
1843 #line 176 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1844 _tmp50_ = tracker_sparql_expression_get_context (self);
1845 #line 176 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1846 _tmp51_ = _tmp50_;
1847 #line 176 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1848 _tmp52_ = tracker_sparql_expression_get_last_string (self, 0);
1849 #line 176 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1850 _tmp53_ = _tmp52_;
1851 #line 176 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1852 _tmp54_ = tracker_sparql_context_get_variable (_tmp51_, _tmp53_);
1853 #line 176 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1854 _tmp55_ = _g_object_ref0 (_tmp54_);
1855 #line 176 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1856 _g_object_unref0 (variable);
1857 #line 176 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1858 variable = _tmp55_;
1859 #line 176 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1860 _g_free0 (_tmp53_);
1861 #line 1862 "tracker-sparql-expression.c"
1862 } else {
1863 TrackerSparqlContext* _tmp56_;
1864 TrackerSparqlContext* _tmp57_;
1865 gchar* _tmp58_ = NULL;
1866 gchar* _tmp59_;
1867 gchar* _tmp60_ = NULL;
1868 gchar* _tmp61_;
1869 TrackerSparqlVariable* _tmp62_ = NULL;
1870 TrackerSparqlVariable* _tmp63_;
1871 #line 180 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1872 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
1873 #line 180 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1874 if (_inner_error_ != NULL) {
1875 #line 180 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1876 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
1877 #line 180 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1878 g_propagate_error (error, _inner_error_);
1879 #line 180 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1880 _g_object_unref0 (variable);
1881 #line 180 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1882 return 0;
1883 #line 1884 "tracker-sparql-expression.c"
1884 } else {
1885 #line 180 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1886 _g_object_unref0 (variable);
1887 #line 180 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1888 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
1889 #line 180 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1890 g_clear_error (&_inner_error_);
1891 #line 180 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1892 return 0;
1893 #line 1894 "tracker-sparql-expression.c"
1894 }
1895 }
1896 #line 181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1897 _tmp56_ = tracker_sparql_expression_get_context (self);
1898 #line 181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1899 _tmp57_ = _tmp56_;
1900 #line 181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1901 _tmp58_ = tracker_sparql_expression_get_last_string (self, 0);
1902 #line 181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1903 _tmp59_ = _tmp58_;
1904 #line 181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1905 _tmp60_ = string_substring (_tmp59_, (glong) 1, (glong) (-1));
1906 #line 181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1907 _tmp61_ = _tmp60_;
1908 #line 181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1909 _tmp62_ = tracker_sparql_context_get_variable (_tmp57_, _tmp61_);
1910 #line 181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1911 _tmp63_ = _g_object_ref0 (_tmp62_);
1912 #line 181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1913 _g_object_unref0 (variable);
1914 #line 181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1915 variable = _tmp63_;
1916 #line 181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1917 _g_free0 (_tmp61_);
1918 #line 181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1919 _g_free0 (_tmp59_);
1920 #line 1921 "tracker-sparql-expression.c"
1921 }
1922 #line 183 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1923 _tmp64_ = sql;
1924 #line 183 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1925 _tmp65_ = variable;
1926 #line 183 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1927 _tmp66_ = tracker_sparql_variable_get_sql_expression (_tmp65_);
1928 #line 183 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1929 _tmp67_ = _tmp66_;
1930 #line 183 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1931 g_string_append_printf (_tmp64_, " AS %s", _tmp67_);
1932 #line 184 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1933 as_handled = TRUE;
1934 #line 186 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1935 _tmp68_ = subquery;
1936 #line 186 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1937 if (_tmp68_) {
1938 #line 1939 "tracker-sparql-expression.c"
1939 TrackerSparqlVariableBinding* _tmp69_;
1940 TrackerSparqlVariableBinding* binding;
1941 TrackerSparqlVariableBinding* _tmp70_;
1942 TrackerPropertyType _tmp71_;
1943 TrackerSparqlVariableBinding* _tmp72_;
1944 TrackerSparqlVariable* _tmp73_;
1945 TrackerSparqlVariableBinding* _tmp74_;
1946 TrackerSparqlVariable* _tmp75_;
1947 const gchar* _tmp76_;
1948 const gchar* _tmp77_;
1949 TrackerSparqlPattern* _tmp78_;
1950 TrackerSparqlPattern* _tmp79_;
1951 GString* _tmp80_;
1952 GString* _tmp81_;
1953 TrackerSparqlVariableBinding* _tmp82_;
1954 #line 187 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1955 _tmp69_ = tracker_sparql_variable_binding_new ();
1956 #line 187 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1957 binding = _tmp69_;
1958 #line 188 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1959 _tmp70_ = binding;
1960 #line 188 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1961 _tmp71_ = type;
1962 #line 188 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1963 ((TrackerSparqlDataBinding*) _tmp70_)->data_type = _tmp71_;
1964 #line 189 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1965 _tmp72_ = binding;
1966 #line 189 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1967 _tmp73_ = variable;
1968 #line 189 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1969 _tmp72_->variable = _tmp73_;
1970 #line 190 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1971 _tmp74_ = binding;
1972 #line 190 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1973 _tmp75_ = variable;
1974 #line 190 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1975 _tmp76_ = tracker_sparql_variable_get_sql_expression (_tmp75_);
1976 #line 190 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1977 _tmp77_ = _tmp76_;
1978 #line 190 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1979 tracker_sparql_data_binding_set_sql_expression ((TrackerSparqlDataBinding*) _tmp74_, _tmp77_);
1980 #line 191 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1981 _tmp78_ = tracker_sparql_expression_get_pattern (self);
1982 #line 191 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1983 _tmp79_ = _tmp78_;
1984 #line 191 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1985 _tmp80_ = g_string_new ("");
1986 #line 191 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1987 _tmp81_ = _tmp80_;
1988 #line 191 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1989 _tmp82_ = binding;
1990 #line 191 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1991 tracker_sparql_pattern_add_variable_binding (_tmp79_, _tmp81_, _tmp82_, TRACKER_SPARQL_VARIABLE_STATE_BOUND);
1992 #line 191 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1993 _g_string_free0 (_tmp81_);
1994 #line 186 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
1995 _g_object_unref0 (binding);
1996 #line 1997 "tracker-sparql-expression.c"
1997 }
1998 }
1999 #line 195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2000 _tmp83_ = tracker_sparql_expression_get_pattern (self);
2001 #line 195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2002 _tmp84_ = _tmp83_;
2003 #line 195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2004 _tmp85_ = _tmp84_->fts_subject;
2005 #line 195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2006 if (_tmp85_ != NULL) {
2007 #line 2008 "tracker-sparql-expression.c"
2008 TrackerSparqlVariable* _tmp86_;
2009 const gchar* _tmp94_;
2010 #line 196 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2011 _tmp86_ = variable;
2012 #line 196 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2013 if (_tmp86_ == NULL) {
2014 #line 2015 "tracker-sparql-expression.c"
2015 TrackerSparqlContext* _tmp87_;
2016 TrackerSparqlContext* _tmp88_;
2017 gint _tmp89_;
2018 gchar* _tmp90_ = NULL;
2019 gchar* _tmp91_;
2020 TrackerSparqlVariable* _tmp92_ = NULL;
2021 TrackerSparqlVariable* _tmp93_;
2022 #line 199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2023 _tmp87_ = tracker_sparql_expression_get_context (self);
2024 #line 199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2025 _tmp88_ = _tmp87_;
2026 #line 199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2027 _tmp89_ = variable_index;
2028 #line 199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2029 _tmp90_ = g_strdup_printf ("var%d", _tmp89_ + 1);
2030 #line 199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2031 _tmp91_ = _tmp90_;
2032 #line 199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2033 _tmp92_ = tracker_sparql_context_get_variable (_tmp88_, _tmp91_);
2034 #line 199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2035 _tmp93_ = _g_object_ref0 (_tmp92_);
2036 #line 199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2037 _g_object_unref0 (variable);
2038 #line 199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2039 variable = _tmp93_;
2040 #line 199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2041 _g_free0 (_tmp91_);
2042 #line 2043 "tracker-sparql-expression.c"
2043 }
2044 #line 202 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2045 _tmp94_ = self->priv->fts_sql;
2046 #line 202 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2047 if (_tmp94_ == NULL) {
2048 #line 2049 "tracker-sparql-expression.c"
2049 TrackerSparqlPattern* _tmp95_;
2050 TrackerSparqlPattern* _tmp96_;
2051 TrackerSparqlPattern* _tmp97_;
2052 TrackerSparqlPattern* _tmp98_;
2053 gchar** _tmp99_;
2054 gint _tmp99__length1;
(emitted by gcc) 2055 TrackerSparqlVariable* _tmp100_;
2056 const gchar* _tmp101_;
2057 const gchar* _tmp102_;
2058 gchar* _tmp103_;
2059 gboolean _tmp104_;
2060 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2061 _tmp95_ = tracker_sparql_expression_get_pattern (self);
2062 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2063 _tmp96_ = _tmp95_;
2064 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2065 _tmp97_ = tracker_sparql_expression_get_pattern (self);
2066 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2067 _tmp98_ = _tmp97_;
2068 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2069 _tmp99_ = _tmp98_->fts_variables;
(emitted by clang-analyzer)TODO: a detailed trace is available in the data model (not yet rendered in this report)
2070 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2071 _tmp99__length1 = _tmp98_->fts_variables_length1;
(emitted by clang-analyzer)TODO: a detailed trace is available in the data model (not yet rendered in this report)
2072 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2073 _tmp100_ = variable;
2074 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2075 _tmp101_ = tracker_sparql_variable_get_sql_expression (_tmp100_);
2076 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2077 _tmp102_ = _tmp101_;
2078 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2079 _tmp103_ = g_strdup (_tmp102_);
2080 #line 203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2081 _vala_array_add1 (&_tmp96_->fts_variables, &_tmp96_->fts_variables_length1, &_tmp96_->_fts_variables_size_, _tmp103_);
2082 #line 205 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2083 _tmp104_ = as_handled;
2084 #line 205 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2085 if (_tmp104_ == FALSE) {
2086 #line 2087 "tracker-sparql-expression.c"
2087 GString* _tmp105_;
2088 TrackerSparqlVariable* _tmp106_;
2089 const gchar* _tmp107_;
2090 const gchar* _tmp108_;
2091 #line 206 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2092 _tmp105_ = sql;
2093 #line 206 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2094 _tmp106_ = variable;
2095 #line 206 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2096 _tmp107_ = tracker_sparql_variable_get_sql_expression (_tmp106_);
2097 #line 206 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2098 _tmp108_ = _tmp107_;
2099 #line 206 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2100 g_string_append_printf (_tmp105_, " AS %s", _tmp108_);
2101 #line 2102 "tracker-sparql-expression.c"
2102 }
2103 } else {
2104 TrackerSparqlPattern* _tmp109_;
2105 TrackerSparqlPattern* _tmp110_;
2106 TrackerSparqlPattern* _tmp111_;
2107 TrackerSparqlPattern* _tmp112_;
2108 gchar** _tmp113_;
2109 gint _tmp113__length1;
2110 const gchar* _tmp114_;
2111 gchar* _tmp115_;
2112 TrackerSparqlPattern* _tmp116_;
2113 TrackerSparqlPattern* _tmp117_;
2114 #line 209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2115 _tmp109_ = tracker_sparql_expression_get_pattern (self);
2116 #line 209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2117 _tmp110_ = _tmp109_;
2118 #line 209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2119 _tmp111_ = tracker_sparql_expression_get_pattern (self);
2120 #line 209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2121 _tmp112_ = _tmp111_;
2122 #line 209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2123 _tmp113_ = _tmp112_->fts_variables;
(emitted by clang-analyzer)TODO: a detailed trace is available in the data model (not yet rendered in this report)
2124 #line 209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2125 _tmp113__length1 = _tmp112_->fts_variables_length1;
(emitted by clang-analyzer)TODO: a detailed trace is available in the data model (not yet rendered in this report)
2126 #line 209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2127 _tmp114_ = self->priv->fts_sql;
2128 #line 209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2129 _tmp115_ = g_strdup (_tmp114_);
2130 #line 209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2131 _vala_array_add2 (&_tmp110_->fts_variables, &_tmp110_->fts_variables_length1, &_tmp110_->_fts_variables_size_, _tmp115_);
2132 #line 210 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2133 _tmp116_ = tracker_sparql_expression_get_pattern (self);
2134 #line 210 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2135 _tmp117_ = _tmp116_;
2136 #line 210 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2137 _tmp117_->queries_fts_data = TRUE;
2138 #line 2139 "tracker-sparql-expression.c"
2139 }
2140 }
2141 #line 214 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2142 _tmp118_ = expect_close_parens;
2143 #line 214 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2144 if (_tmp118_) {
2145 #line 215 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2146 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
2147 #line 215 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2148 if (_inner_error_ != NULL) {
2149 #line 215 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2150 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2151 #line 215 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2152 g_propagate_error (error, _inner_error_);
2153 #line 215 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2154 _g_object_unref0 (variable);
2155 #line 215 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2156 return 0;
2157 #line 2158 "tracker-sparql-expression.c"
2158 } else {
2159 #line 215 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2160 _g_object_unref0 (variable);
2161 #line 215 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2162 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2163 #line 215 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2164 g_clear_error (&_inner_error_);
2165 #line 215 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2166 return 0;
2167 #line 2168 "tracker-sparql-expression.c"
2168 }
2169 }
2170 }
2171 #line 218 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2172 _tmp119_ = variable;
2173 #line 218 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2174 if (_tmp119_ != NULL) {
2175 #line 2176 "tracker-sparql-expression.c"
2176 TrackerSparqlContext* _tmp120_;
2177 TrackerSparqlContext* _tmp121_;
2178 GHashTable* _tmp122_;
2179 TrackerSparqlVariable* _tmp123_;
2180 gconstpointer _tmp124_ = NULL;
2181 gint state;
2182 gint _tmp125_;
2183 TrackerSparqlContext* _tmp126_;
2184 TrackerSparqlContext* _tmp127_;
2185 GHashTable* _tmp128_;
2186 TrackerSparqlVariable* _tmp129_;
2187 TrackerSparqlVariable* _tmp130_;
2188 gint _tmp131_;
2189 TrackerSparqlContext* _tmp132_;
2190 TrackerSparqlContext* _tmp133_;
2191 TrackerSparqlContext* _tmp134_;
2192 TrackerSparqlContext* _tmp135_;
2193 gchar** _tmp136_;
2194 gint _tmp136__length1;
2195 TrackerSparqlVariable* _tmp137_;
2196 const gchar* _tmp138_;
2197 const gchar* _tmp139_;
2198 gchar* _tmp140_;
2199 #line 219 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2200 _tmp120_ = tracker_sparql_expression_get_context (self);
2201 #line 219 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2202 _tmp121_ = _tmp120_;
2203 #line 219 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2204 _tmp122_ = _tmp121_->var_set;
2205 #line 219 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2206 _tmp123_ = variable;
2207 #line 219 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2208 _tmp124_ = g_hash_table_lookup (_tmp122_, _tmp123_);
2209 #line 219 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2210 state = (gint) ((gintptr) _tmp124_);
2211 #line 220 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2212 _tmp125_ = state;
2213 #line 220 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2214 if (_tmp125_ == 0) {
2215 #line 221 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2216 state = (gint) TRACKER_SPARQL_VARIABLE_STATE_BOUND;
2217 #line 2218 "tracker-sparql-expression.c"
2218 }
2219 #line 223 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2220 _tmp126_ = tracker_sparql_expression_get_context (self);
2221 #line 223 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2222 _tmp127_ = _tmp126_;
2223 #line 223 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2224 _tmp128_ = _tmp127_->select_var_set;
2225 #line 223 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2226 _tmp129_ = variable;
2227 #line 223 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2228 _tmp130_ = _g_object_ref0 (_tmp129_);
2229 #line 223 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2230 _tmp131_ = state;
2231 #line 223 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2232 g_hash_table_insert (_tmp128_, _tmp130_, (gpointer) ((gintptr) _tmp131_));
2233 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2234 _tmp132_ = tracker_sparql_expression_get_context (self);
2235 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2236 _tmp133_ = _tmp132_;
2237 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2238 _tmp134_ = tracker_sparql_expression_get_context (self);
2239 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2240 _tmp135_ = _tmp134_;
2241 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2242 _tmp136_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp135_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names;
(emitted by clang-analyzer)TODO: a detailed trace is available in the data model (not yet rendered in this report)
2243 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2244 _tmp136__length1 = G_TYPE_CHECK_INSTANCE_CAST (_tmp135_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names_length1;
(emitted by clang-analyzer)TODO: a detailed trace is available in the data model (not yet rendered in this report)
2245 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2246 _tmp137_ = variable;
2247 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2248 _tmp138_ = tracker_sparql_variable_get_name (_tmp137_);
2249 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2250 _tmp139_ = _tmp138_;
2251 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2252 _tmp140_ = g_strdup (_tmp139_);
2253 #line 225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2254 _vala_array_add3 (&G_TYPE_CHECK_INSTANCE_CAST (_tmp133_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names, &G_TYPE_CHECK_INSTANCE_CAST (_tmp133_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names_length1, &G_TYPE_CHECK_INSTANCE_CAST (_tmp133_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->_variable_names_size_, _tmp140_);
2255 #line 2256 "tracker-sparql-expression.c"
2256 } else {
2257 TrackerSparqlContext* _tmp141_;
2258 TrackerSparqlContext* _tmp142_;
2259 TrackerSparqlContext* _tmp143_;
2260 TrackerSparqlContext* _tmp144_;
2261 gchar** _tmp145_;
2262 gint _tmp145__length1;
2263 gint _tmp146_;
2264 gchar* _tmp147_ = NULL;
2265 #line 227 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2266 _tmp141_ = tracker_sparql_expression_get_context (self);
2267 #line 227 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2268 _tmp142_ = _tmp141_;
2269 #line 227 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2270 _tmp143_ = tracker_sparql_expression_get_context (self);
2271 #line 227 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2272 _tmp144_ = _tmp143_;
2273 #line 227 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2274 _tmp145_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp144_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names;
(emitted by clang-analyzer)TODO: a detailed trace is available in the data model (not yet rendered in this report)
2275 #line 227 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2276 _tmp145__length1 = G_TYPE_CHECK_INSTANCE_CAST (_tmp144_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names_length1;
(emitted by clang-analyzer)TODO: a detailed trace is available in the data model (not yet rendered in this report)
2277 #line 227 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2278 _tmp146_ = variable_index;
2279 #line 227 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2280 _tmp147_ = g_strdup_printf ("var%d", _tmp146_ + 1);
2281 #line 227 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2282 _vala_array_add4 (&G_TYPE_CHECK_INSTANCE_CAST (_tmp142_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names, &G_TYPE_CHECK_INSTANCE_CAST (_tmp142_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names_length1, &G_TYPE_CHECK_INSTANCE_CAST (_tmp142_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->_variable_names_size_, _tmp147_);
2283 #line 2284 "tracker-sparql-expression.c"
2284 }
2285 #line 230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2286 _g_free0 (self->priv->fts_sql);
2287 #line 230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2288 self->priv->fts_sql = NULL;
2289 #line 232 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2290 result = type;
2291 #line 232 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2292 _g_object_unref0 (variable);
2293 #line 232 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2294 return result;
2295 #line 2296 "tracker-sparql-expression.c"
2296 }
2297
2298
2299 static void tracker_sparql_expression_translate_expression_as_order_condition (TrackerSparqlExpression* self, GString* sql, GError** error) {
2300 GString* _tmp0_;
2301 gssize _tmp1_;
2302 glong begin;
2303 GString* _tmp2_;
2304 TrackerPropertyType _tmp3_ = 0;
2305 TrackerPropertyType _tmp4_;
2306 GError * _inner_error_ = NULL;
2307 #line 235 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2308 g_return_if_fail (self != NULL);
2309 #line 235 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2310 g_return_if_fail (sql != NULL);
2311 #line 236 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2312 _tmp0_ = sql;
2313 #line 236 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2314 _tmp1_ = _tmp0_->len;
2315 #line 236 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2316 begin = (glong) _tmp1_;
2317 #line 237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2318 _tmp2_ = sql;
2319 #line 237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2320 _tmp3_ = tracker_sparql_expression_translate_expression (self, _tmp2_, &_inner_error_);
2321 #line 237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2322 _tmp4_ = _tmp3_;
2323 #line 237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2324 if (_inner_error_ != NULL) {
2325 #line 237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2326 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2327 #line 237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2328 g_propagate_error (error, _inner_error_);
2329 #line 237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2330 return;
2331 #line 2332 "tracker-sparql-expression.c"
2332 } else {
2333 #line 237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2334 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2335 #line 237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2336 g_clear_error (&_inner_error_);
2337 #line 237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2338 return;
2339 #line 2340 "tracker-sparql-expression.c"
2340 }
2341 }
2342 #line 237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2343 if (_tmp4_ == TRACKER_PROPERTY_TYPE_RESOURCE) {
2344 #line 2345 "tracker-sparql-expression.c"
2345 GString* _tmp5_;
2346 GString* _tmp6_;
2347 #line 239 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2348 _tmp5_ = sql;
2349 #line 239 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2350 g_string_insert (_tmp5_, (gssize) begin, "(SELECT Uri FROM Resource WHERE ID = ");
2351 #line 240 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2352 _tmp6_ = sql;
2353 #line 240 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2354 g_string_append (_tmp6_, ")");
2355 #line 2356 "tracker-sparql-expression.c"
2356 }
2357 }
2358
2359
2360 void tracker_sparql_expression_translate_order_condition (TrackerSparqlExpression* self, GString* sql, GError** error) {
2361 gboolean _tmp0_ = FALSE;
2362 gboolean _tmp1_;
2363 GError * _inner_error_ = NULL;
2364 #line 244 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2365 g_return_if_fail (self != NULL);
2366 #line 244 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2367 g_return_if_fail (sql != NULL);
2368 #line 245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2369 _tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_ASC, &_inner_error_);
2370 #line 245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2371 _tmp1_ = _tmp0_;
2372 #line 245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2373 if (_inner_error_ != NULL) {
2374 #line 245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2375 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2376 #line 245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2377 g_propagate_error (error, _inner_error_);
2378 #line 245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2379 return;
2380 #line 2381 "tracker-sparql-expression.c"
2381 } else {
2382 #line 245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2383 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2384 #line 245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2385 g_clear_error (&_inner_error_);
2386 #line 245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2387 return;
2388 #line 2389 "tracker-sparql-expression.c"
2389 }
2390 }
2391 #line 245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2392 if (_tmp1_) {
2393 #line 2394 "tracker-sparql-expression.c"
2394 GString* _tmp2_;
2395 GString* _tmp3_;
2396 #line 246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2397 _tmp2_ = sql;
2398 #line 246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2399 tracker_sparql_expression_translate_expression_as_order_condition (self, _tmp2_, &_inner_error_);
2400 #line 246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2401 if (_inner_error_ != NULL) {
2402 #line 246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2403 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2404 #line 246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2405 g_propagate_error (error, _inner_error_);
2406 #line 246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2407 return;
2408 #line 2409 "tracker-sparql-expression.c"
2409 } else {
2410 #line 246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2411 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2412 #line 246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2413 g_clear_error (&_inner_error_);
2414 #line 246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2415 return;
2416 #line 2417 "tracker-sparql-expression.c"
2417 }
2418 }
2419 #line 247 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2420 _tmp3_ = sql;
2421 #line 247 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2422 g_string_append (_tmp3_, " ASC");
2423 #line 2424 "tracker-sparql-expression.c"
2424 } else {
2425 gboolean _tmp4_ = FALSE;
2426 gboolean _tmp5_;
2427 #line 248 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2428 _tmp4_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DESC, &_inner_error_);
2429 #line 248 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2430 _tmp5_ = _tmp4_;
2431 #line 248 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2432 if (_inner_error_ != NULL) {
2433 #line 248 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2434 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2435 #line 248 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2436 g_propagate_error (error, _inner_error_);
2437 #line 248 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2438 return;
2439 #line 2440 "tracker-sparql-expression.c"
2440 } else {
2441 #line 248 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2442 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2443 #line 248 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2444 g_clear_error (&_inner_error_);
2445 #line 248 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2446 return;
2447 #line 2448 "tracker-sparql-expression.c"
2448 }
2449 }
2450 #line 248 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2451 if (_tmp5_) {
2452 #line 2453 "tracker-sparql-expression.c"
2453 GString* _tmp6_;
2454 GString* _tmp7_;
2455 #line 249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2456 _tmp6_ = sql;
2457 #line 249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2458 tracker_sparql_expression_translate_expression_as_order_condition (self, _tmp6_, &_inner_error_);
2459 #line 249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2460 if (_inner_error_ != NULL) {
2461 #line 249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2462 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2463 #line 249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2464 g_propagate_error (error, _inner_error_);
2465 #line 249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2466 return;
2467 #line 2468 "tracker-sparql-expression.c"
2468 } else {
2469 #line 249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2470 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2471 #line 249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2472 g_clear_error (&_inner_error_);
2473 #line 249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2474 return;
2475 #line 2476 "tracker-sparql-expression.c"
2476 }
2477 }
2478 #line 250 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2479 _tmp7_ = sql;
2480 #line 250 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2481 g_string_append (_tmp7_, " DESC");
2482 #line 2483 "tracker-sparql-expression.c"
2483 } else {
2484 GString* _tmp8_;
2485 #line 252 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2486 _tmp8_ = sql;
2487 #line 252 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2488 tracker_sparql_expression_translate_expression_as_order_condition (self, _tmp8_, &_inner_error_);
2489 #line 252 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2490 if (_inner_error_ != NULL) {
2491 #line 252 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2492 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2493 #line 252 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2494 g_propagate_error (error, _inner_error_);
2495 #line 252 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2496 return;
2497 #line 2498 "tracker-sparql-expression.c"
2498 } else {
2499 #line 252 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2500 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2501 #line 252 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2502 g_clear_error (&_inner_error_);
2503 #line 252 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2504 return;
2505 #line 2506 "tracker-sparql-expression.c"
2506 }
2507 }
2508 }
2509 }
2510 }
2511
2512
2513 static void tracker_sparql_expression_translate_bound_call (TrackerSparqlExpression* self, GString* sql, GError** error) {
2514 GString* _tmp0_;
2515 GString* _tmp1_;
2516 GString* _tmp2_;
2517 GError * _inner_error_ = NULL;
2518 #line 256 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2519 g_return_if_fail (self != NULL);
2520 #line 256 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2521 g_return_if_fail (sql != NULL);
2522 #line 257 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2523 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_BOUND, &_inner_error_);
2524 #line 257 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2525 if (_inner_error_ != NULL) {
2526 #line 257 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2527 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2528 #line 257 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2529 g_propagate_error (error, _inner_error_);
2530 #line 257 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2531 return;
2532 #line 2533 "tracker-sparql-expression.c"
2533 } else {
2534 #line 257 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2535 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2536 #line 257 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2537 g_clear_error (&_inner_error_);
2538 #line 257 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2539 return;
2540 #line 2541 "tracker-sparql-expression.c"
2541 }
2542 }
2543 #line 258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2544 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
2545 #line 258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2546 if (_inner_error_ != NULL) {
2547 #line 258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2548 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2549 #line 258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2550 g_propagate_error (error, _inner_error_);
2551 #line 258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2552 return;
2553 #line 2554 "tracker-sparql-expression.c"
2554 } else {
2555 #line 258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2556 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2557 #line 258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2558 g_clear_error (&_inner_error_);
2559 #line 258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2560 return;
2561 #line 2562 "tracker-sparql-expression.c"
2562 }
2563 }
2564 #line 259 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2565 _tmp0_ = sql;
2566 #line 259 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2567 g_string_append (_tmp0_, "(");
2568 #line 260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2569 _tmp1_ = sql;
2570 #line 260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2571 tracker_sparql_expression_translate_expression (self, _tmp1_, &_inner_error_);
2572 #line 260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2573 if (_inner_error_ != NULL) {
2574 #line 260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2575 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2576 #line 260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2577 g_propagate_error (error, _inner_error_);
2578 #line 260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2579 return;
2580 #line 2581 "tracker-sparql-expression.c"
2581 } else {
2582 #line 260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2583 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2584 #line 260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2585 g_clear_error (&_inner_error_);
2586 #line 260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2587 return;
2588 #line 2589 "tracker-sparql-expression.c"
2589 }
2590 }
2591 #line 261 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2592 _tmp2_ = sql;
2593 #line 261 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2594 g_string_append (_tmp2_, " IS NOT NULL)");
2595 #line 262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2596 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
2597 #line 262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2598 if (_inner_error_ != NULL) {
2599 #line 262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2600 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2601 #line 262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2602 g_propagate_error (error, _inner_error_);
2603 #line 262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2604 return;
2605 #line 2606 "tracker-sparql-expression.c"
2606 } else {
2607 #line 262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2608 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2609 #line 262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2610 g_clear_error (&_inner_error_);
2611 #line 262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2612 return;
2613 #line 2614 "tracker-sparql-expression.c"
2614 }
2615 }
2616 }
2617
2618
2619 static TrackerPropertyType tracker_sparql_expression_translate_if_call (TrackerSparqlExpression* self, GString* sql, GError** error) {
2620 TrackerPropertyType result = 0;
2621 GString* _tmp0_;
2622 GString* _tmp1_;
2623 GString* _tmp2_;
2624 GString* _tmp3_;
2625 TrackerPropertyType _tmp4_ = 0;
2626 TrackerPropertyType type;
2627 GString* _tmp5_;
2628 GString* _tmp6_;
2629 GString* _tmp7_;
2630 GError * _inner_error_ = NULL;
2631 #line 265 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2632 g_return_val_if_fail (self != NULL, 0);
2633 #line 265 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2634 g_return_val_if_fail (sql != NULL, 0);
2635 #line 266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2636 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_IF, &_inner_error_);
2637 #line 266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2638 if (_inner_error_ != NULL) {
2639 #line 266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2640 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2641 #line 266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2642 g_propagate_error (error, _inner_error_);
2643 #line 266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2644 return 0;
2645 #line 2646 "tracker-sparql-expression.c"
2646 } else {
2647 #line 266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2648 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2649 #line 266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2650 g_clear_error (&_inner_error_);
2651 #line 266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2652 return 0;
2653 #line 2654 "tracker-sparql-expression.c"
2654 }
2655 }
2656 #line 267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2657 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
2658 #line 267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2659 if (_inner_error_ != NULL) {
2660 #line 267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2661 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2662 #line 267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2663 g_propagate_error (error, _inner_error_);
2664 #line 267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2665 return 0;
2666 #line 2667 "tracker-sparql-expression.c"
2667 } else {
2668 #line 267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2669 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2670 #line 267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2671 g_clear_error (&_inner_error_);
2672 #line 267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2673 return 0;
2674 #line 2675 "tracker-sparql-expression.c"
2675 }
2676 }
2677 #line 270 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2678 _tmp0_ = sql;
2679 #line 270 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2680 g_string_append (_tmp0_, "(CASE ");
2681 #line 271 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2682 _tmp1_ = sql;
2683 #line 271 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2684 tracker_sparql_expression_translate_expression (self, _tmp1_, &_inner_error_);
2685 #line 271 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2686 if (_inner_error_ != NULL) {
2687 #line 271 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2688 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2689 #line 271 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2690 g_propagate_error (error, _inner_error_);
2691 #line 271 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2692 return 0;
2693 #line 2694 "tracker-sparql-expression.c"
2694 } else {
2695 #line 271 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2696 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2697 #line 271 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2698 g_clear_error (&_inner_error_);
2699 #line 271 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2700 return 0;
2701 #line 2702 "tracker-sparql-expression.c"
2702 }
2703 }
2704 #line 274 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2705 _tmp2_ = sql;
2706 #line 274 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2707 g_string_append (_tmp2_, " WHEN 1 THEN ");
2708 #line 275 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2709 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
2710 #line 275 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2711 if (_inner_error_ != NULL) {
2712 #line 275 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2713 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2714 #line 275 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2715 g_propagate_error (error, _inner_error_);
2716 #line 275 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2717 return 0;
2718 #line 2719 "tracker-sparql-expression.c"
2719 } else {
2720 #line 275 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2721 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2722 #line 275 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2723 g_clear_error (&_inner_error_);
2724 #line 275 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2725 return 0;
2726 #line 2727 "tracker-sparql-expression.c"
2727 }
2728 }
2729 #line 276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2730 _tmp3_ = sql;
2731 #line 276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2732 _tmp4_ = tracker_sparql_expression_translate_expression (self, _tmp3_, &_inner_error_);
2733 #line 276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2734 type = _tmp4_;
2735 #line 276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2736 if (_inner_error_ != NULL) {
2737 #line 276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2738 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2739 #line 276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2740 g_propagate_error (error, _inner_error_);
2741 #line 276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2742 return 0;
2743 #line 2744 "tracker-sparql-expression.c"
2744 } else {
2745 #line 276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2746 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2747 #line 276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2748 g_clear_error (&_inner_error_);
2749 #line 276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2750 return 0;
2751 #line 2752 "tracker-sparql-expression.c"
2752 }
2753 }
2754 #line 279 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2755 _tmp5_ = sql;
2756 #line 279 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2757 g_string_append (_tmp5_, " WHEN 0 THEN ");
2758 #line 280 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2759 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
2760 #line 280 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2761 if (_inner_error_ != NULL) {
2762 #line 280 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2763 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2764 #line 280 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2765 g_propagate_error (error, _inner_error_);
2766 #line 280 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2767 return 0;
2768 #line 2769 "tracker-sparql-expression.c"
2769 } else {
2770 #line 280 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2771 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2772 #line 280 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2773 g_clear_error (&_inner_error_);
2774 #line 280 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2775 return 0;
2776 #line 2777 "tracker-sparql-expression.c"
2777 }
2778 }
2779 #line 281 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2780 _tmp6_ = sql;
2781 #line 281 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2782 tracker_sparql_expression_translate_expression (self, _tmp6_, &_inner_error_);
2783 #line 281 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2784 if (_inner_error_ != NULL) {
2785 #line 281 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2786 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2787 #line 281 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2788 g_propagate_error (error, _inner_error_);
2789 #line 281 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2790 return 0;
2791 #line 2792 "tracker-sparql-expression.c"
2792 } else {
2793 #line 281 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2794 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2795 #line 281 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2796 g_clear_error (&_inner_error_);
2797 #line 281 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2798 return 0;
2799 #line 2800 "tracker-sparql-expression.c"
2800 }
2801 }
2802 #line 283 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2803 _tmp7_ = sql;
2804 #line 283 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2805 g_string_append (_tmp7_, " ELSE NULL END)");
2806 #line 285 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2807 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
2808 #line 285 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2809 if (_inner_error_ != NULL) {
2810 #line 285 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2811 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2812 #line 285 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2813 g_propagate_error (error, _inner_error_);
2814 #line 285 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2815 return 0;
2816 #line 2817 "tracker-sparql-expression.c"
2817 } else {
2818 #line 285 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2819 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2820 #line 285 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2821 g_clear_error (&_inner_error_);
2822 #line 285 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2823 return 0;
2824 #line 2825 "tracker-sparql-expression.c"
2825 }
2826 }
2827 #line 287 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2828 result = type;
2829 #line 287 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2830 return result;
2831 #line 2832 "tracker-sparql-expression.c"
2832 }
2833
2834
2835 static void tracker_sparql_expression_translate_regex (TrackerSparqlExpression* self, GString* sql, GError** error) {
2836 GString* _tmp0_;
2837 GString* _tmp1_;
2838 GString* _tmp2_;
2839 gchar* _tmp3_ = NULL;
2840 gchar* _tmp4_;
2841 GString* _tmp5_;
2842 gchar* _tmp6_;
2843 gchar* _tmp7_ = NULL;
2844 gchar* _tmp8_;
2845 GString* _tmp9_;
2846 gboolean _tmp10_ = FALSE;
2847 gboolean _tmp11_;
2848 GString* _tmp19_;
2849 GError * _inner_error_ = NULL;
2850 #line 290 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2851 g_return_if_fail (self != NULL);
2852 #line 290 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2853 g_return_if_fail (sql != NULL);
2854 #line 291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2855 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_REGEX, &_inner_error_);
2856 #line 291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2857 if (_inner_error_ != NULL) {
2858 #line 291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2859 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2860 #line 291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2861 g_propagate_error (error, _inner_error_);
2862 #line 291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2863 return;
2864 #line 2865 "tracker-sparql-expression.c"
2865 } else {
2866 #line 291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2867 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2868 #line 291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2869 g_clear_error (&_inner_error_);
2870 #line 291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2871 return;
2872 #line 2873 "tracker-sparql-expression.c"
2873 }
2874 }
2875 #line 292 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2876 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
2877 #line 292 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2878 if (_inner_error_ != NULL) {
2879 #line 292 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2880 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2881 #line 292 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2882 g_propagate_error (error, _inner_error_);
2883 #line 292 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2884 return;
2885 #line 2886 "tracker-sparql-expression.c"
2886 } else {
2887 #line 292 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2888 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2889 #line 292 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2890 g_clear_error (&_inner_error_);
2891 #line 292 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2892 return;
2893 #line 2894 "tracker-sparql-expression.c"
2894 }
2895 }
2896 #line 293 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2897 _tmp0_ = sql;
2898 #line 293 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2899 g_string_append (_tmp0_, "SparqlRegex(");
2900 #line 294 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2901 _tmp1_ = sql;
2902 #line 294 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2903 tracker_sparql_expression_translate_expression_as_string (self, _tmp1_, &_inner_error_);
2904 #line 294 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2905 if (_inner_error_ != NULL) {
2906 #line 294 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2907 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2908 #line 294 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2909 g_propagate_error (error, _inner_error_);
2910 #line 294 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2911 return;
2912 #line 2913 "tracker-sparql-expression.c"
2913 } else {
2914 #line 294 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2915 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2916 #line 294 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2917 g_clear_error (&_inner_error_);
2918 #line 294 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2919 return;
2920 #line 2921 "tracker-sparql-expression.c"
2921 }
2922 }
2923 #line 295 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2924 _tmp2_ = sql;
2925 #line 295 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2926 g_string_append (_tmp2_, ", ");
2927 #line 296 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2928 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
2929 #line 296 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2930 if (_inner_error_ != NULL) {
2931 #line 296 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2932 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2933 #line 296 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2934 g_propagate_error (error, _inner_error_);
2935 #line 296 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2936 return;
2937 #line 2938 "tracker-sparql-expression.c"
2938 } else {
2939 #line 296 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2940 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2941 #line 296 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2942 g_clear_error (&_inner_error_);
2943 #line 296 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2944 return;
2945 #line 2946 "tracker-sparql-expression.c"
2946 }
2947 }
2948 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2949 _tmp3_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
2950 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2951 _tmp4_ = _tmp3_;
2952 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2953 if (_inner_error_ != NULL) {
2954 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2955 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2956 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2957 g_propagate_error (error, _inner_error_);
2958 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2959 return;
2960 #line 2961 "tracker-sparql-expression.c"
2961 } else {
2962 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2963 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2964 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2965 g_clear_error (&_inner_error_);
2966 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2967 return;
2968 #line 2969 "tracker-sparql-expression.c"
2969 }
2970 }
2971 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2972 _tmp5_ = sql;
2973 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2974 _tmp6_ = _tmp4_;
2975 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2976 _tmp7_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp6_);
2977 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2978 _tmp8_ = _tmp7_;
2979 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2980 g_string_append (_tmp5_, _tmp8_);
2981 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2982 _g_free0 (_tmp8_);
2983 #line 300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2984 _g_free0 (_tmp6_);
2985 #line 301 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2986 _tmp9_ = sql;
2987 #line 301 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2988 g_string_append (_tmp9_, ", ");
2989 #line 302 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2990 _tmp10_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
2991 #line 302 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2992 _tmp11_ = _tmp10_;
2993 #line 302 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2994 if (_inner_error_ != NULL) {
2995 #line 302 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2996 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
2997 #line 302 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
2998 g_propagate_error (error, _inner_error_);
2999 #line 302 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3000 return;
3001 #line 3002 "tracker-sparql-expression.c"
3002 } else {
3003 #line 302 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3004 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3005 #line 302 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3006 g_clear_error (&_inner_error_);
3007 #line 302 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3008 return;
3009 #line 3010 "tracker-sparql-expression.c"
3010 }
3011 }
3012 #line 302 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3013 if (_tmp11_) {
3014 #line 3015 "tracker-sparql-expression.c"
3015 gchar* _tmp12_ = NULL;
3016 gchar* _tmp13_;
3017 GString* _tmp14_;
3018 gchar* _tmp15_;
3019 gchar* _tmp16_ = NULL;
3020 gchar* _tmp17_;
3021 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3022 _tmp12_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
3023 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3024 _tmp13_ = _tmp12_;
3025 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3026 if (_inner_error_ != NULL) {
3027 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3028 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3029 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3030 g_propagate_error (error, _inner_error_);
3031 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3032 return;
3033 #line 3034 "tracker-sparql-expression.c"
3034 } else {
3035 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3036 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3037 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3038 g_clear_error (&_inner_error_);
3039 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3040 return;
3041 #line 3042 "tracker-sparql-expression.c"
3042 }
3043 }
3044 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3045 _tmp14_ = sql;
3046 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3047 _tmp15_ = _tmp13_;
3048 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3049 _tmp16_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp15_);
3050 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3051 _tmp17_ = _tmp16_;
3052 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3053 g_string_append (_tmp14_, _tmp17_);
3054 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3055 _g_free0 (_tmp17_);
3056 #line 305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3057 _g_free0 (_tmp15_);
3058 #line 3059 "tracker-sparql-expression.c"
3059 } else {
3060 GString* _tmp18_;
3061 #line 307 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3062 _tmp18_ = sql;
3063 #line 307 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3064 g_string_append (_tmp18_, "''");
3065 #line 3066 "tracker-sparql-expression.c"
3066 }
3067 #line 309 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3068 _tmp19_ = sql;
3069 #line 309 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3070 g_string_append (_tmp19_, ")");
3071 #line 310 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3072 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
3073 #line 310 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3074 if (_inner_error_ != NULL) {
3075 #line 310 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3076 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3077 #line 310 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3078 g_propagate_error (error, _inner_error_);
3079 #line 310 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3080 return;
3081 #line 3082 "tracker-sparql-expression.c"
3082 } else {
3083 #line 310 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3084 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3085 #line 310 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3086 g_clear_error (&_inner_error_);
3087 #line 310 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3088 return;
3089 #line 3090 "tracker-sparql-expression.c"
3090 }
3091 }
3092 }
3093
3094
3095 static void tracker_sparql_expression_translate_exists (TrackerSparqlExpression* self, GString* sql, GError** error) {
3096 GString* _tmp0_;
3097 TrackerSparqlPattern* _tmp1_;
3098 TrackerSparqlPattern* _tmp2_;
3099 GString* _tmp3_;
3100 GString* _tmp4_;
3101 GError * _inner_error_ = NULL;
3102 #line 313 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3103 g_return_if_fail (self != NULL);
3104 #line 313 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3105 g_return_if_fail (sql != NULL);
3106 #line 314 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3107 _tmp0_ = sql;
3108 #line 314 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3109 g_string_append (_tmp0_, "(");
3110 #line 315 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3111 _tmp1_ = tracker_sparql_expression_get_pattern (self);
3112 #line 315 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3113 _tmp2_ = _tmp1_;
3114 #line 315 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3115 _tmp3_ = sql;
3116 #line 315 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3117 tracker_sparql_pattern_translate_exists (_tmp2_, _tmp3_, &_inner_error_);
3118 #line 315 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3119 if (_inner_error_ != NULL) {
3120 #line 315 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3121 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3122 #line 315 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3123 g_propagate_error (error, _inner_error_);
3124 #line 315 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3125 return;
3126 #line 3127 "tracker-sparql-expression.c"
3127 } else {
3128 #line 315 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3129 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3130 #line 315 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3131 g_clear_error (&_inner_error_);
3132 #line 315 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3133 return;
3134 #line 3135 "tracker-sparql-expression.c"
3135 }
3136 }
3137 #line 316 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3138 _tmp4_ = sql;
3139 #line 316 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3140 g_string_append (_tmp4_, ")");
3141 #line 3142 "tracker-sparql-expression.c"
3142 }
3143
3144
3145 void tracker_sparql_expression_append_expression_as_string (GString* sql, const gchar* expression, TrackerPropertyType type) {
3146 GString* _tmp0_;
3147 gssize _tmp1_;
3148 glong begin;
3149 GString* _tmp2_;
3150 const gchar* _tmp3_;
3151 GString* _tmp4_;
3152 TrackerPropertyType _tmp5_;
3153 #line 319 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3154 g_return_if_fail (sql != NULL);
3155 #line 319 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3156 g_return_if_fail (expression != NULL);
3157 #line 320 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3158 _tmp0_ = sql;
3159 #line 320 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3160 _tmp1_ = _tmp0_->len;
3161 #line 320 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3162 begin = (glong) _tmp1_;
3163 #line 321 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3164 _tmp2_ = sql;
3165 #line 321 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3166 _tmp3_ = expression;
3167 #line 321 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3168 g_string_append (_tmp2_, _tmp3_);
3169 #line 322 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3170 _tmp4_ = sql;
3171 #line 322 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3172 _tmp5_ = type;
3173 #line 322 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3174 tracker_sparql_expression_convert_expression_to_string (_tmp4_, _tmp5_, begin);
3175 #line 3176 "tracker-sparql-expression.c"
3176 }
3177
3178
3179 static void tracker_sparql_expression_convert_expression_to_string (GString* sql, TrackerPropertyType type, glong begin) {
3180 TrackerPropertyType _tmp0_;
3181 #line 325 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3182 g_return_if_fail (sql != NULL);
3183 #line 326 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3184 _tmp0_ = type;
3185 #line 326 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3186 switch (_tmp0_) {
3187 #line 326 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3188 case TRACKER_PROPERTY_TYPE_STRING:
3189 #line 326 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3190 case TRACKER_PROPERTY_TYPE_INTEGER:
3191 #line 3192 "tracker-sparql-expression.c"
3192 {
3193 #line 332 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3194 break;
3195 #line 3196 "tracker-sparql-expression.c"
3196 }
3197 #line 326 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3198 case TRACKER_PROPERTY_TYPE_RESOURCE:
3199 #line 3200 "tracker-sparql-expression.c"
3200 {
3201 GString* _tmp1_;
3202 glong _tmp2_;
3203 GString* _tmp3_;
3204 #line 335 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3205 _tmp1_ = sql;
3206 #line 335 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3207 _tmp2_ = begin;
3208 #line 335 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3209 g_string_insert (_tmp1_, (gssize) _tmp2_, "(SELECT Uri FROM Resource WHERE ID = ");
3210 #line 336 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3211 _tmp3_ = sql;
3212 #line 336 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3213 g_string_append (_tmp3_, ")");
3214 #line 337 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3215 break;
3216 #line 3217 "tracker-sparql-expression.c"
3217 }
3218 #line 326 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3219 case TRACKER_PROPERTY_TYPE_BOOLEAN:
3220 #line 3221 "tracker-sparql-expression.c"
3221 {
3222 GString* _tmp4_;
3223 glong _tmp5_;
3224 GString* _tmp6_;
3225 #line 340 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3226 _tmp4_ = sql;
3227 #line 340 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3228 _tmp5_ = begin;
3229 #line 340 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3230 g_string_insert (_tmp4_, (gssize) _tmp5_, "CASE ");
3231 #line 341 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3232 _tmp6_ = sql;
3233 #line 341 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3234 g_string_append (_tmp6_, " WHEN 1 THEN 'true' WHEN 0 THEN 'false' ELSE NULL END");
3235 #line 342 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3236 break;
3237 #line 3238 "tracker-sparql-expression.c"
3238 }
3239 #line 326 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3240 case TRACKER_PROPERTY_TYPE_DATE:
3241 #line 3242 "tracker-sparql-expression.c"
3242 {
3243 GString* _tmp7_;
3244 glong _tmp8_;
3245 GString* _tmp9_;
3246 #line 345 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3247 _tmp7_ = sql;
3248 #line 345 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3249 _tmp8_ = begin;
3250 #line 345 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3251 g_string_insert (_tmp7_, (gssize) _tmp8_, "strftime (\"%Y-%m-%d\", ");
3252 #line 346 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3253 _tmp9_ = sql;
3254 #line 346 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3255 g_string_append (_tmp9_, ", \"unixepoch\")");
3256 #line 347 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3257 break;
3258 #line 3259 "tracker-sparql-expression.c"
3259 }
3260 #line 326 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3261 case TRACKER_PROPERTY_TYPE_DATETIME:
3262 #line 3263 "tracker-sparql-expression.c"
3263 {
3264 GString* _tmp10_;
3265 glong _tmp11_;
3266 GString* _tmp12_;
3267 #line 350 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3268 _tmp10_ = sql;
3269 #line 350 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3270 _tmp11_ = begin;
3271 #line 350 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3272 g_string_insert (_tmp10_, (gssize) _tmp11_, "SparqlFormatTime (");
3273 #line 351 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3274 _tmp12_ = sql;
3275 #line 351 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3276 g_string_append (_tmp12_, ")");
3277 #line 352 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3278 break;
3279 #line 3280 "tracker-sparql-expression.c"
3280 }
3281 default:
3282 {
3283 GString* _tmp13_;
3284 glong _tmp14_;
3285 GString* _tmp15_;
3286 #line 355 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3287 _tmp13_ = sql;
3288 #line 355 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3289 _tmp14_ = begin;
3290 #line 355 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3291 g_string_insert (_tmp13_, (gssize) _tmp14_, "CAST (");
3292 #line 356 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3293 _tmp15_ = sql;
3294 #line 356 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3295 g_string_append (_tmp15_, " AS TEXT)");
3296 #line 357 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3297 break;
3298 #line 3299 "tracker-sparql-expression.c"
3299 }
3300 }
3301 }
3302
3303
3304 static void tracker_sparql_expression_translate_expression_as_string (TrackerSparqlExpression* self, GString* sql, GError** error) {
3305 TrackerSparqlTokenType _tmp0_ = 0;
3306 GError * _inner_error_ = NULL;
3307 #line 361 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3308 g_return_if_fail (self != NULL);
3309 #line 361 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3310 g_return_if_fail (sql != NULL);
3311 #line 362 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3312 _tmp0_ = tracker_sparql_expression_current (self);
3313 #line 362 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3314 switch (_tmp0_) {
3315 #line 362 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3316 case TRACKER_SPARQL_TOKEN_TYPE_IRI_REF:
3317 #line 362 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3318 case TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX:
3319 #line 362 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3320 case TRACKER_SPARQL_TOKEN_TYPE_COLON:
3321 #line 3322 "tracker-sparql-expression.c"
3322 {
3323 TrackerSparqlLiteralBinding* _tmp1_;
3324 TrackerSparqlLiteralBinding* binding;
3325 gboolean is_var = FALSE;
(emitted by gcc) 3326 TrackerSparqlPattern* _tmp2_;
3327 TrackerSparqlPattern* _tmp3_;
3328 gboolean _tmp4_ = FALSE;
3329 gchar* _tmp5_ = NULL;
3330 gchar* _tmp6_;
3331 TrackerSparqlLiteralBinding* _tmp7_;
3332 gboolean _tmp8_ = FALSE;
3333 gboolean _tmp9_;
3334 #line 367 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3335 _tmp1_ = tracker_sparql_literal_binding_new ();
3336 #line 367 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3337 binding = _tmp1_;
3338 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3339 _tmp2_ = tracker_sparql_expression_get_pattern (self);
3340 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3341 _tmp3_ = _tmp2_;
3342 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3343 _tmp5_ = tracker_sparql_pattern_parse_var_or_term (_tmp3_, NULL, &_tmp4_, &_inner_error_);
3344 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3345 is_var = _tmp4_;
(emitted by clang-analyzer)TODO: a detailed trace is available in the data model (not yet rendered in this report)
3346 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3347 _tmp6_ = _tmp5_;
3348 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3349 if (_inner_error_ != NULL) {
3350 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3351 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3352 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3353 g_propagate_error (error, _inner_error_);
3354 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3355 _g_object_unref0 (binding);
3356 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3357 return;
3358 #line 3359 "tracker-sparql-expression.c"
3359 } else {
3360 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3361 _g_object_unref0 (binding);
3362 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3363 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3364 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3365 g_clear_error (&_inner_error_);
3366 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3367 return;
3368 #line 3369 "tracker-sparql-expression.c"
3369 }
3370 }
3371 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3372 _tmp7_ = binding;
3373 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3374 _g_free0 (_tmp7_->literal);
3375 #line 369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3376 _tmp7_->literal = _tmp6_;
3377 #line 370 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3378 _tmp8_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
3379 #line 370 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3380 _tmp9_ = _tmp8_;
3381 #line 370 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3382 if (_inner_error_ != NULL) {
3383 #line 370 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3384 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3385 #line 370 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3386 g_propagate_error (error, _inner_error_);
3387 #line 370 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3388 _g_object_unref0 (binding);
3389 #line 370 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3390 return;
3391 #line 3392 "tracker-sparql-expression.c"
3392 } else {
3393 #line 370 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3394 _g_object_unref0 (binding);
3395 #line 370 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3396 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3397 #line 370 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3398 g_clear_error (&_inner_error_);
3399 #line 370 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3400 return;
3401 #line 3402 "tracker-sparql-expression.c"
3402 }
3403 }
3404 #line 370 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3405 if (_tmp9_) {
3406 #line 3407 "tracker-sparql-expression.c"
3407 GString* _tmp10_;
3408 gssize _tmp11_;
3409 glong begin;
3410 GString* _tmp12_;
3411 TrackerSparqlLiteralBinding* _tmp13_;
3412 const gchar* _tmp14_;
3413 TrackerPropertyType _tmp15_ = 0;
3414 TrackerPropertyType type;
3415 GString* _tmp16_;
3416 TrackerPropertyType _tmp17_;
3417 glong _tmp18_;
3418 #line 372 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3419 _tmp10_ = sql;
3420 #line 372 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3421 _tmp11_ = _tmp10_->len;
3422 #line 372 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3423 begin = (glong) _tmp11_;
3424 #line 373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3425 _tmp12_ = sql;
3426 #line 373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3427 _tmp13_ = binding;
3428 #line 373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3429 _tmp14_ = _tmp13_->literal;
3430 #line 373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3431 _tmp15_ = tracker_sparql_expression_translate_function (self, _tmp12_, _tmp14_, &_inner_error_);
3432 #line 373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3433 type = _tmp15_;
3434 #line 373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3435 if (_inner_error_ != NULL) {
3436 #line 373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3437 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3438 #line 373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3439 g_propagate_error (error, _inner_error_);
3440 #line 373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3441 _g_object_unref0 (binding);
3442 #line 373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3443 return;
3444 #line 3445 "tracker-sparql-expression.c"
3445 } else {
3446 #line 373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3447 _g_object_unref0 (binding);
3448 #line 373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3449 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3450 #line 373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3451 g_clear_error (&_inner_error_);
3452 #line 373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3453 return;
3454 #line 3455 "tracker-sparql-expression.c"
3455 }
3456 }
3457 #line 374 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3458 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
3459 #line 374 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3460 if (_inner_error_ != NULL) {
3461 #line 374 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3462 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3463 #line 374 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3464 g_propagate_error (error, _inner_error_);
3465 #line 374 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3466 _g_object_unref0 (binding);
3467 #line 374 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3468 return;
3469 #line 3470 "tracker-sparql-expression.c"
3470 } else {
3471 #line 374 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3472 _g_object_unref0 (binding);
3473 #line 374 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3474 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3475 #line 374 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3476 g_clear_error (&_inner_error_);
3477 #line 374 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3478 return;
3479 #line 3480 "tracker-sparql-expression.c"
3480 }
3481 }
3482 #line 375 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3483 _tmp16_ = sql;
3484 #line 375 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3485 _tmp17_ = type;
3486 #line 375 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3487 _tmp18_ = begin;
3488 #line 375 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3489 tracker_sparql_expression_convert_expression_to_string (_tmp16_, _tmp17_, _tmp18_);
3490 #line 3491 "tracker-sparql-expression.c"
3491 } else {
3492 GString* _tmp19_;
3493 TrackerSparqlQuery* _tmp20_;
3494 TrackerSparqlLiteralBinding* _tmp21_;
3495 TrackerSparqlLiteralBinding* _tmp22_;
3496 #line 377 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3497 _tmp19_ = sql;
3498 #line 377 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3499 g_string_append (_tmp19_, "?");
3500 #line 378 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3501 _tmp20_ = self->priv->query;
3502 #line 378 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3503 _tmp21_ = binding;
3504 #line 378 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3505 _tmp22_ = _g_object_ref0 (_tmp21_);
3506 #line 378 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3507 _tmp20_->bindings = g_list_append (_tmp20_->bindings, _tmp22_);
3508 #line 3509 "tracker-sparql-expression.c"
3509 }
3510 #line 380 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3511 _g_object_unref0 (binding);
3512 #line 380 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3513 break;
3514 #line 3515 "tracker-sparql-expression.c"
3515 }
3516 default:
3517 {
3518 GString* _tmp23_;
3519 gssize _tmp24_;
3520 glong begin;
3521 GString* _tmp25_;
3522 TrackerPropertyType _tmp26_ = 0;
3523 TrackerPropertyType type;
3524 GString* _tmp27_;
3525 TrackerPropertyType _tmp28_;
3526 glong _tmp29_;
3527 #line 382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3528 _tmp23_ = sql;
3529 #line 382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3530 _tmp24_ = _tmp23_->len;
3531 #line 382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3532 begin = (glong) _tmp24_;
3533 #line 383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3534 _tmp25_ = sql;
3535 #line 383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3536 _tmp26_ = tracker_sparql_expression_translate_expression (self, _tmp25_, &_inner_error_);
3537 #line 383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3538 type = _tmp26_;
3539 #line 383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3540 if (_inner_error_ != NULL) {
3541 #line 383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3542 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3543 #line 383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3544 g_propagate_error (error, _inner_error_);
3545 #line 383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3546 return;
3547 #line 3548 "tracker-sparql-expression.c"
3548 } else {
3549 #line 383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3550 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3551 #line 383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3552 g_clear_error (&_inner_error_);
3553 #line 383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3554 return;
3555 #line 3556 "tracker-sparql-expression.c"
3556 }
3557 }
3558 #line 384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3559 _tmp27_ = sql;
3560 #line 384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3561 _tmp28_ = type;
3562 #line 384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3563 _tmp29_ = begin;
3564 #line 384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3565 tracker_sparql_expression_convert_expression_to_string (_tmp27_, _tmp28_, _tmp29_);
3566 #line 385 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3567 break;
3568 #line 3569 "tracker-sparql-expression.c"
3569 }
3570 }
3571 }
3572
3573
3574 static void tracker_sparql_expression_translate_str (TrackerSparqlExpression* self, GString* sql, GError** error) {
3575 GString* _tmp0_;
3576 GError * _inner_error_ = NULL;
3577 #line 389 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3578 g_return_if_fail (self != NULL);
3579 #line 389 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3580 g_return_if_fail (sql != NULL);
3581 #line 390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3582 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_STR, &_inner_error_);
3583 #line 390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3584 if (_inner_error_ != NULL) {
3585 #line 390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3586 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3587 #line 390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3588 g_propagate_error (error, _inner_error_);
3589 #line 390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3590 return;
3591 #line 3592 "tracker-sparql-expression.c"
3592 } else {
3593 #line 390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3594 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3595 #line 390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3596 g_clear_error (&_inner_error_);
3597 #line 390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3598 return;
3599 #line 3600 "tracker-sparql-expression.c"
3600 }
3601 }
3602 #line 391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3603 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
3604 #line 391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3605 if (_inner_error_ != NULL) {
3606 #line 391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3607 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3608 #line 391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3609 g_propagate_error (error, _inner_error_);
3610 #line 391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3611 return;
3612 #line 3613 "tracker-sparql-expression.c"
3613 } else {
3614 #line 391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3615 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3616 #line 391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3617 g_clear_error (&_inner_error_);
3618 #line 391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3619 return;
3620 #line 3621 "tracker-sparql-expression.c"
3621 }
3622 }
3623 #line 393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3624 _tmp0_ = sql;
3625 #line 393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3626 tracker_sparql_expression_translate_expression_as_string (self, _tmp0_, &_inner_error_);
3627 #line 393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3628 if (_inner_error_ != NULL) {
3629 #line 393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3630 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3631 #line 393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3632 g_propagate_error (error, _inner_error_);
3633 #line 393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3634 return;
3635 #line 3636 "tracker-sparql-expression.c"
3636 } else {
3637 #line 393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3638 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3639 #line 393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3640 g_clear_error (&_inner_error_);
3641 #line 393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3642 return;
3643 #line 3644 "tracker-sparql-expression.c"
3644 }
3645 }
3646 #line 395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3647 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
3648 #line 395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3649 if (_inner_error_ != NULL) {
3650 #line 395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3651 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3652 #line 395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3653 g_propagate_error (error, _inner_error_);
3654 #line 395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3655 return;
3656 #line 3657 "tracker-sparql-expression.c"
3657 } else {
3658 #line 395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3659 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3660 #line 395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3661 g_clear_error (&_inner_error_);
3662 #line 395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3663 return;
3664 #line 3665 "tracker-sparql-expression.c"
3665 }
3666 }
3667 }
3668
3669
3670 static void tracker_sparql_expression_translate_isuri (TrackerSparqlExpression* self, GString* sql, GError** error) {
3671 gboolean _tmp0_ = FALSE;
3672 gboolean _tmp1_;
3673 GString* _tmp2_;
3674 TrackerSparqlLiteralBinding* _tmp3_;
3675 TrackerSparqlLiteralBinding* new_binding;
3676 TrackerSparqlLiteralBinding* _tmp4_;
3677 TrackerSparqlTokenType _tmp5_ = 0;
3678 TrackerSparqlQuery* _tmp17_;
3679 TrackerSparqlLiteralBinding* _tmp18_;
3680 TrackerSparqlLiteralBinding* _tmp19_;
3681 GError * _inner_error_ = NULL;
3682 #line 398 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3683 g_return_if_fail (self != NULL);
3684 #line 398 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3685 g_return_if_fail (sql != NULL);
3686 #line 399 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3687 _tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_ISURI, &_inner_error_);
3688 #line 399 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3689 _tmp1_ = _tmp0_;
3690 #line 399 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3691 if (_inner_error_ != NULL) {
3692 #line 399 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3693 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3694 #line 399 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3695 g_propagate_error (error, _inner_error_);
3696 #line 399 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3697 return;
3698 #line 3699 "tracker-sparql-expression.c"
3699 } else {
3700 #line 399 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3701 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3702 #line 399 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3703 g_clear_error (&_inner_error_);
3704 #line 399 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3705 return;
3706 #line 3707 "tracker-sparql-expression.c"
3707 }
3708 }
3709 #line 399 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3710 if (!_tmp1_) {
3711 #line 400 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3712 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_ISIRI, &_inner_error_);
3713 #line 400 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3714 if (_inner_error_ != NULL) {
3715 #line 400 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3716 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3717 #line 400 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3718 g_propagate_error (error, _inner_error_);
3719 #line 400 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3720 return;
3721 #line 3722 "tracker-sparql-expression.c"
3722 } else {
3723 #line 400 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3724 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3725 #line 400 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3726 g_clear_error (&_inner_error_);
3727 #line 400 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3728 return;
3729 #line 3730 "tracker-sparql-expression.c"
3730 }
3731 }
3732 }
3733 #line 403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3734 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
3735 #line 403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3736 if (_inner_error_ != NULL) {
3737 #line 403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3738 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3739 #line 403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3740 g_propagate_error (error, _inner_error_);
3741 #line 403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3742 return;
3743 #line 3744 "tracker-sparql-expression.c"
3744 } else {
3745 #line 403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3746 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3747 #line 403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3748 g_clear_error (&_inner_error_);
3749 #line 403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3750 return;
3751 #line 3752 "tracker-sparql-expression.c"
3752 }
3753 }
3754 #line 405 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3755 _tmp2_ = sql;
3756 #line 405 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3757 g_string_append (_tmp2_, "?");
3758 #line 406 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3759 _tmp3_ = tracker_sparql_literal_binding_new ();
3760 #line 406 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3761 new_binding = _tmp3_;
3762 #line 407 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3763 _tmp4_ = new_binding;
3764 #line 407 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3765 ((TrackerSparqlDataBinding*) _tmp4_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
3766 #line 409 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3767 _tmp5_ = tracker_sparql_expression_current (self);
3768 #line 409 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3769 if (_tmp5_ == TRACKER_SPARQL_TOKEN_TYPE_IRI_REF) {
3770 #line 3771 "tracker-sparql-expression.c"
3771 TrackerSparqlLiteralBinding* _tmp6_;
3772 gchar* _tmp7_;
3773 #line 410 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3774 _tmp6_ = new_binding;
3775 #line 410 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3776 _tmp7_ = g_strdup ("1");
3777 #line 410 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3778 _g_free0 (_tmp6_->literal);
3779 #line 410 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3780 _tmp6_->literal = _tmp7_;
3781 #line 411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3782 tracker_sparql_expression_next (self, &_inner_error_);
3783 #line 411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3784 if (_inner_error_ != NULL) {
3785 #line 411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3786 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3787 #line 411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3788 g_propagate_error (error, _inner_error_);
3789 #line 411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3790 _g_object_unref0 (new_binding);
3791 #line 411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3792 return;
3793 #line 3794 "tracker-sparql-expression.c"
3794 } else {
3795 #line 411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3796 _g_object_unref0 (new_binding);
3797 #line 411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3798 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3799 #line 411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3800 g_clear_error (&_inner_error_);
3801 #line 411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3802 return;
3803 #line 3804 "tracker-sparql-expression.c"
3804 }
3805 }
3806 } else {
3807 GString* _tmp8_;
3808 GString* _tmp9_;
3809 TrackerPropertyType _tmp10_ = 0;
3810 TrackerPropertyType _tmp11_;
3811 TrackerPropertyType _tmp12_;
3812 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3813 _tmp8_ = g_string_new ("");
3814 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3815 _tmp9_ = _tmp8_;
3816 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3817 _tmp10_ = tracker_sparql_expression_translate_expression (self, _tmp9_, &_inner_error_);
3818 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3819 _tmp11_ = _tmp10_;
3820 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3821 _g_string_free0 (_tmp9_);
3822 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3823 _tmp12_ = _tmp11_;
3824 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3825 if (_inner_error_ != NULL) {
3826 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3827 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3828 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3829 g_propagate_error (error, _inner_error_);
3830 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3831 _g_object_unref0 (new_binding);
3832 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3833 return;
3834 #line 3835 "tracker-sparql-expression.c"
3835 } else {
3836 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3837 _g_object_unref0 (new_binding);
3838 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3839 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3840 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3841 g_clear_error (&_inner_error_);
3842 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3843 return;
3844 #line 3845 "tracker-sparql-expression.c"
3845 }
3846 }
3847 #line 412 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3848 if (_tmp12_ == TRACKER_PROPERTY_TYPE_RESOURCE) {
3849 #line 3850 "tracker-sparql-expression.c"
3850 TrackerSparqlLiteralBinding* _tmp13_;
3851 gchar* _tmp14_;
3852 #line 413 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3853 _tmp13_ = new_binding;
3854 #line 413 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3855 _tmp14_ = g_strdup ("1");
3856 #line 413 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3857 _g_free0 (_tmp13_->literal);
3858 #line 413 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3859 _tmp13_->literal = _tmp14_;
3860 #line 3861 "tracker-sparql-expression.c"
3861 } else {
3862 TrackerSparqlLiteralBinding* _tmp15_;
3863 gchar* _tmp16_;
3864 #line 415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3865 _tmp15_ = new_binding;
3866 #line 415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3867 _tmp16_ = g_strdup ("0");
3868 #line 415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3869 _g_free0 (_tmp15_->literal);
3870 #line 415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3871 _tmp15_->literal = _tmp16_;
3872 #line 3873 "tracker-sparql-expression.c"
3873 }
3874 }
3875 #line 418 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3876 _tmp17_ = self->priv->query;
3877 #line 418 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3878 _tmp18_ = new_binding;
3879 #line 418 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3880 _tmp19_ = _g_object_ref0 (_tmp18_);
3881 #line 418 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3882 _tmp17_->bindings = g_list_append (_tmp17_->bindings, _tmp19_);
3883 #line 420 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3884 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
3885 #line 420 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3886 if (_inner_error_ != NULL) {
3887 #line 420 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3888 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3889 #line 420 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3890 g_propagate_error (error, _inner_error_);
3891 #line 420 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3892 _g_object_unref0 (new_binding);
3893 #line 420 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3894 return;
3895 #line 3896 "tracker-sparql-expression.c"
3896 } else {
3897 #line 420 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3898 _g_object_unref0 (new_binding);
3899 #line 420 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3900 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3901 #line 420 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3902 g_clear_error (&_inner_error_);
3903 #line 420 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3904 return;
3905 #line 3906 "tracker-sparql-expression.c"
3906 }
3907 }
3908 #line 398 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3909 _g_object_unref0 (new_binding);
3910 #line 3911 "tracker-sparql-expression.c"
3911 }
3912
3913
3914 static void tracker_sparql_expression_translate_datatype (TrackerSparqlExpression* self, GString* sql, GError** error) {
3915 gboolean _tmp0_ = FALSE;
3916 gboolean _tmp1_;
3917 GError * _inner_error_ = NULL;
3918 #line 423 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3919 g_return_if_fail (self != NULL);
3920 #line 423 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3921 g_return_if_fail (sql != NULL);
3922 #line 424 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3923 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_DATATYPE, &_inner_error_);
3924 #line 424 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3925 if (_inner_error_ != NULL) {
3926 #line 424 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3927 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3928 #line 424 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3929 g_propagate_error (error, _inner_error_);
3930 #line 424 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3931 return;
3932 #line 3933 "tracker-sparql-expression.c"
3933 } else {
3934 #line 424 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3935 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3936 #line 424 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3937 g_clear_error (&_inner_error_);
3938 #line 424 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3939 return;
3940 #line 3941 "tracker-sparql-expression.c"
3941 }
3942 }
3943 #line 425 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3944 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
3945 #line 425 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3946 if (_inner_error_ != NULL) {
3947 #line 425 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3948 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3949 #line 425 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3950 g_propagate_error (error, _inner_error_);
3951 #line 425 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3952 return;
3953 #line 3954 "tracker-sparql-expression.c"
3954 } else {
3955 #line 425 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3956 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3957 #line 425 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3958 g_clear_error (&_inner_error_);
3959 #line 425 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3960 return;
3961 #line 3962 "tracker-sparql-expression.c"
3962 }
3963 }
3964 #line 427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3965 _tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
3966 #line 427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3967 _tmp1_ = _tmp0_;
3968 #line 427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3969 if (_inner_error_ != NULL) {
3970 #line 427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3971 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
3972 #line 427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3973 g_propagate_error (error, _inner_error_);
3974 #line 427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3975 return;
3976 #line 3977 "tracker-sparql-expression.c"
3977 } else {
3978 #line 427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3979 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3980 #line 427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3981 g_clear_error (&_inner_error_);
3982 #line 427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3983 return;
3984 #line 3985 "tracker-sparql-expression.c"
3985 }
3986 }
3987 #line 427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
3988 if (_tmp1_) {
3989 #line 3990 "tracker-sparql-expression.c"
3990 gchar* _tmp2_ = NULL;
3991 gchar* _tmp3_;
3992 gchar* _tmp4_ = NULL;
3993 gchar* _tmp5_;
3994 gchar* variable_name;
3995 TrackerSparqlContext* _tmp6_;
3996 TrackerSparqlContext* _tmp7_;
3997 const gchar* _tmp8_;
3998 TrackerSparqlVariable* _tmp9_ = NULL;
3999 TrackerSparqlVariable* _tmp10_;
4000 TrackerSparqlVariable* variable;
4001 TrackerSparqlVariable* _tmp11_;
4002 TrackerSparqlVariableBinding* _tmp12_;
4003 gboolean _tmp20_ = FALSE;
4004 TrackerSparqlVariable* _tmp21_;
4005 TrackerSparqlVariableBinding* _tmp22_;
4006 TrackerPropertyType _tmp23_;
4007 gboolean _tmp27_;
4008 GString* _tmp29_;
4009 TrackerSparqlLiteralBinding* _tmp30_;
4010 TrackerSparqlLiteralBinding* new_binding;
4011 TrackerSparqlLiteralBinding* _tmp31_;
4012 TrackerSparqlVariable* _tmp32_;
4013 TrackerSparqlVariableBinding* _tmp33_;
4014 TrackerClass* _tmp34_;
4015 const gchar* _tmp35_;
4016 const gchar* _tmp36_;
4017 gchar* _tmp37_;
4018 TrackerSparqlQuery* _tmp38_;
4019 TrackerSparqlLiteralBinding* _tmp39_;
4020 TrackerSparqlLiteralBinding* _tmp40_;
4021 #line 428 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4022 _tmp2_ = tracker_sparql_expression_get_last_string (self, 0);
4023 #line 428 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4024 _tmp3_ = _tmp2_;
4025 #line 428 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4026 _tmp4_ = string_substring (_tmp3_, (glong) 1, (glong) (-1));
4027 #line 428 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4028 _tmp5_ = _tmp4_;
4029 #line 428 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4030 _g_free0 (_tmp3_);
4031 #line 428 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4032 variable_name = _tmp5_;
4033 #line 429 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4034 _tmp6_ = tracker_sparql_expression_get_context (self);
4035 #line 429 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4036 _tmp7_ = _tmp6_;
4037 #line 429 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4038 _tmp8_ = variable_name;
4039 #line 429 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4040 _tmp9_ = tracker_sparql_context_get_variable (_tmp7_, _tmp8_);
4041 #line 429 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4042 _tmp10_ = _g_object_ref0 (_tmp9_);
4043 #line 429 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4044 variable = _tmp10_;
4045 #line 431 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4046 _tmp11_ = variable;
4047 #line 431 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4048 _tmp12_ = _tmp11_->binding;
4049 #line 431 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4050 if (_tmp12_ == NULL) {
4051 #line 4052 "tracker-sparql-expression.c"
4052 TrackerSparqlVariable* _tmp13_;
4053 const gchar* _tmp14_;
4054 const gchar* _tmp15_;
4055 gchar* _tmp16_ = NULL;
4056 gchar* _tmp17_;
4057 GError* _tmp18_ = NULL;
4058 GError* _tmp19_;
4059 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4060 _tmp13_ = variable;
4061 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4062 _tmp14_ = tracker_sparql_variable_get_name (_tmp13_);
4063 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4064 _tmp15_ = _tmp14_;
4065 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4066 _tmp16_ = g_strdup_printf ("`%s' is not a valid variable", _tmp15_);
4067 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4068 _tmp17_ = _tmp16_;
4069 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4070 _tmp18_ = tracker_sparql_expression_get_error (self, _tmp17_);
4071 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4072 _tmp19_ = _tmp18_;
4073 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4074 _g_free0 (_tmp17_);
4075 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4076 _inner_error_ = _tmp19_;
4077 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4078 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4079 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4080 g_propagate_error (error, _inner_error_);
4081 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4082 _g_object_unref0 (variable);
4083 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4084 _g_free0 (variable_name);
4085 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4086 return;
4087 #line 4088 "tracker-sparql-expression.c"
4088 } else {
4089 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4090 _g_object_unref0 (variable);
4091 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4092 _g_free0 (variable_name);
4093 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4094 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4095 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4096 g_clear_error (&_inner_error_);
4097 #line 432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4098 return;
4099 #line 4100 "tracker-sparql-expression.c"
4100 }
4101 }
4102 #line 435 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4103 _tmp21_ = variable;
4104 #line 435 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4105 _tmp22_ = _tmp21_->binding;
4106 #line 435 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4107 _tmp23_ = ((TrackerSparqlDataBinding*) _tmp22_)->data_type;
4108 #line 435 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4109 if (_tmp23_ == TRACKER_PROPERTY_TYPE_RESOURCE) {
4110 #line 435 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4111 _tmp20_ = TRUE;
4112 #line 4113 "tracker-sparql-expression.c"
4113 } else {
4114 TrackerSparqlVariable* _tmp24_;
4115 TrackerSparqlVariableBinding* _tmp25_;
4116 TrackerClass* _tmp26_;
4117 #line 435 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4118 _tmp24_ = variable;
4119 #line 435 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4120 _tmp25_ = _tmp24_->binding;
4121 #line 435 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4122 _tmp26_ = _tmp25_->type;
4123 #line 435 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4124 _tmp20_ = _tmp26_ == NULL;
4125 #line 4126 "tracker-sparql-expression.c"
4126 }
4127 #line 435 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4128 _tmp27_ = _tmp20_;
4129 #line 435 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4130 if (_tmp27_) {
4131 #line 4132 "tracker-sparql-expression.c"
4132 GError* _tmp28_ = NULL;
4133 #line 436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4134 _tmp28_ = tracker_sparql_expression_get_error (self, "Invalid FILTER");
4135 #line 436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4136 _inner_error_ = _tmp28_;
4137 #line 436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4138 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4139 #line 436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4140 g_propagate_error (error, _inner_error_);
4141 #line 436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4142 _g_object_unref0 (variable);
4143 #line 436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4144 _g_free0 (variable_name);
4145 #line 436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4146 return;
4147 #line 4148 "tracker-sparql-expression.c"
4148 } else {
4149 #line 436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4150 _g_object_unref0 (variable);
4151 #line 436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4152 _g_free0 (variable_name);
4153 #line 436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4154 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4155 #line 436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4156 g_clear_error (&_inner_error_);
4157 #line 436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4158 return;
4159 #line 4160 "tracker-sparql-expression.c"
4160 }
4161 }
4162 #line 439 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4163 _tmp29_ = sql;
4164 #line 439 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4165 g_string_append (_tmp29_, "(SELECT ID FROM Resource WHERE Uri = ?)");
4166 #line 441 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4167 _tmp30_ = tracker_sparql_literal_binding_new ();
4168 #line 441 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4169 new_binding = _tmp30_;
4170 #line 442 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4171 _tmp31_ = new_binding;
4172 #line 442 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4173 _tmp32_ = variable;
4174 #line 442 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4175 _tmp33_ = _tmp32_->binding;
4176 #line 442 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4177 _tmp34_ = _tmp33_->type;
4178 #line 442 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4179 _tmp35_ = tracker_class_get_uri (_tmp34_);
4180 #line 442 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4181 _tmp36_ = _tmp35_;
4182 #line 442 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4183 _tmp37_ = g_strdup (_tmp36_);
4184 #line 442 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4185 _g_free0 (_tmp31_->literal);
4186 #line 442 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4187 _tmp31_->literal = _tmp37_;
4188 #line 443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4189 _tmp38_ = self->priv->query;
4190 #line 443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4191 _tmp39_ = new_binding;
4192 #line 443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4193 _tmp40_ = _g_object_ref0 (_tmp39_);
4194 #line 443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4195 _tmp38_->bindings = g_list_append (_tmp38_->bindings, _tmp40_);
4196 #line 427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4197 _g_object_unref0 (new_binding);
4198 #line 427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4199 _g_object_unref0 (variable);
4200 #line 427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4201 _g_free0 (variable_name);
4202 #line 4203 "tracker-sparql-expression.c"
4203 } else {
4204 GError* _tmp41_ = NULL;
4205 #line 446 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4206 _tmp41_ = tracker_sparql_expression_get_error (self, "Invalid FILTER");
4207 #line 446 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4208 _inner_error_ = _tmp41_;
4209 #line 446 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4210 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4211 #line 446 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4212 g_propagate_error (error, _inner_error_);
4213 #line 446 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4214 return;
4215 #line 4216 "tracker-sparql-expression.c"
4216 } else {
4217 #line 446 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4218 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4219 #line 446 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4220 g_clear_error (&_inner_error_);
4221 #line 446 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4222 return;
4223 #line 4224 "tracker-sparql-expression.c"
4224 }
4225 }
4226 #line 449 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4227 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
4228 #line 449 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4229 if (_inner_error_ != NULL) {
4230 #line 449 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4231 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4232 #line 449 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4233 g_propagate_error (error, _inner_error_);
4234 #line 449 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4235 return;
4236 #line 4237 "tracker-sparql-expression.c"
4237 } else {
4238 #line 449 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4239 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4240 #line 449 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4241 g_clear_error (&_inner_error_);
4242 #line 449 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4243 return;
4244 #line 4245 "tracker-sparql-expression.c"
4245 }
4246 }
4247 }
4248
4249
4250 static gchar* g_unichar_to_string (gunichar self) {
4251 gchar* result = NULL;
4252 gchar* _tmp0_ = NULL;
4253 gchar* str;
4254 const gchar* _tmp1_;
4255 #line 845 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
4256 _tmp0_ = g_new0 (gchar, 7);
4257 #line 845 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
4258 str = (gchar*) _tmp0_;
4259 #line 846 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
4260 _tmp1_ = str;
4261 #line 846 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
4262 g_unichar_to_utf8 (self, _tmp1_);
4263 #line 847 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
4264 result = str;
4265 #line 847 "/usr/share/vala-0.18/vapi/glib-2.0.vapi"
4266 return result;
4267 #line 4268 "tracker-sparql-expression.c"
4268 }
4269
4270
4271 static TrackerPropertyType tracker_sparql_expression_translate_function (TrackerSparqlExpression* self, GString* sql, const gchar* uri, GError** error) {
4272 TrackerPropertyType result = 0;
4273 const gchar* _tmp0_;
4274 GError * _inner_error_ = NULL;
4275 #line 452 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4276 g_return_val_if_fail (self != NULL, 0);
4277 #line 452 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4278 g_return_val_if_fail (sql != NULL, 0);
4279 #line 452 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4280 g_return_val_if_fail (uri != NULL, 0);
4281 #line 453 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4282 _tmp0_ = uri;
4283 #line 453 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4284 if (g_strcmp0 (_tmp0_, TRACKER_SPARQL_EXPRESSION_XSD_NS "string") == 0) {
4285 #line 4286 "tracker-sparql-expression.c"
4286 GString* _tmp1_;
4287 #line 455 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4288 _tmp1_ = sql;
4289 #line 455 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4290 tracker_sparql_expression_translate_expression_as_string (self, _tmp1_, &_inner_error_);
4291 #line 455 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4292 if (_inner_error_ != NULL) {
4293 #line 455 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4294 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4295 #line 455 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4296 g_propagate_error (error, _inner_error_);
4297 #line 455 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4298 return 0;
4299 #line 4300 "tracker-sparql-expression.c"
4300 } else {
4301 #line 455 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4302 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4303 #line 455 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4304 g_clear_error (&_inner_error_);
4305 #line 455 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4306 return 0;
4307 #line 4308 "tracker-sparql-expression.c"
4308 }
4309 }
4310 #line 457 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4311 result = TRACKER_PROPERTY_TYPE_STRING;
4312 #line 457 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4313 return result;
4314 #line 4315 "tracker-sparql-expression.c"
4315 } else {
4316 const gchar* _tmp2_;
4317 #line 458 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4318 _tmp2_ = uri;
4319 #line 458 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4320 if (g_strcmp0 (_tmp2_, TRACKER_SPARQL_EXPRESSION_XSD_NS "integer") == 0) {
4321 #line 4322 "tracker-sparql-expression.c"
4322 GString* _tmp3_;
4323 GString* _tmp4_;
4324 GString* _tmp5_;
4325 #line 460 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4326 _tmp3_ = sql;
4327 #line 460 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4328 g_string_append (_tmp3_, "CAST (");
4329 #line 461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4330 _tmp4_ = sql;
4331 #line 461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4332 tracker_sparql_expression_translate_expression_as_string (self, _tmp4_, &_inner_error_);
4333 #line 461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4334 if (_inner_error_ != NULL) {
4335 #line 461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4336 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4337 #line 461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4338 g_propagate_error (error, _inner_error_);
4339 #line 461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4340 return 0;
4341 #line 4342 "tracker-sparql-expression.c"
4342 } else {
4343 #line 461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4344 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4345 #line 461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4346 g_clear_error (&_inner_error_);
4347 #line 461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4348 return 0;
4349 #line 4350 "tracker-sparql-expression.c"
4350 }
4351 }
4352 #line 462 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4353 _tmp5_ = sql;
4354 #line 462 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4355 g_string_append (_tmp5_, " AS INTEGER)");
4356 #line 464 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4357 result = TRACKER_PROPERTY_TYPE_INTEGER;
4358 #line 464 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4359 return result;
4360 #line 4361 "tracker-sparql-expression.c"
4361 } else {
4362 const gchar* _tmp6_;
4363 #line 465 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4364 _tmp6_ = uri;
4365 #line 465 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4366 if (g_strcmp0 (_tmp6_, TRACKER_SPARQL_EXPRESSION_XSD_NS "double") == 0) {
4367 #line 4368 "tracker-sparql-expression.c"
4368 GString* _tmp7_;
4369 GString* _tmp8_;
4370 GString* _tmp9_;
4371 #line 467 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4372 _tmp7_ = sql;
4373 #line 467 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4374 g_string_append (_tmp7_, "CAST (");
4375 #line 468 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4376 _tmp8_ = sql;
4377 #line 468 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4378 tracker_sparql_expression_translate_expression_as_string (self, _tmp8_, &_inner_error_);
4379 #line 468 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4380 if (_inner_error_ != NULL) {
4381 #line 468 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4382 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4383 #line 468 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4384 g_propagate_error (error, _inner_error_);
4385 #line 468 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4386 return 0;
4387 #line 4388 "tracker-sparql-expression.c"
4388 } else {
4389 #line 468 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4390 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4391 #line 468 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4392 g_clear_error (&_inner_error_);
4393 #line 468 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4394 return 0;
4395 #line 4396 "tracker-sparql-expression.c"
4396 }
4397 }
4398 #line 469 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4399 _tmp9_ = sql;
4400 #line 469 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4401 g_string_append (_tmp9_, " AS REAL)");
4402 #line 471 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4403 result = TRACKER_PROPERTY_TYPE_DOUBLE;
4404 #line 471 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4405 return result;
4406 #line 4407 "tracker-sparql-expression.c"
4407 } else {
4408 const gchar* _tmp10_;
4409 #line 472 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4410 _tmp10_ = uri;
4411 #line 472 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4412 if (g_strcmp0 (_tmp10_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "case-fold") == 0) {
4413 #line 4414 "tracker-sparql-expression.c"
4414 GString* _tmp11_;
4415 GString* _tmp12_;
4416 GString* _tmp13_;
4417 #line 474 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4418 _tmp11_ = sql;
4419 #line 474 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4420 g_string_append (_tmp11_, "SparqlCaseFold (");
4421 #line 475 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4422 _tmp12_ = sql;
4423 #line 475 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4424 tracker_sparql_expression_translate_expression_as_string (self, _tmp12_, &_inner_error_);
4425 #line 475 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4426 if (_inner_error_ != NULL) {
4427 #line 475 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4428 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4429 #line 475 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4430 g_propagate_error (error, _inner_error_);
4431 #line 475 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4432 return 0;
4433 #line 4434 "tracker-sparql-expression.c"
4434 } else {
4435 #line 475 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4436 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4437 #line 475 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4438 g_clear_error (&_inner_error_);
4439 #line 475 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4440 return 0;
4441 #line 4442 "tracker-sparql-expression.c"
4442 }
4443 }
4444 #line 476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4445 _tmp13_ = sql;
4446 #line 476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4447 g_string_append (_tmp13_, ")");
4448 #line 477 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4449 result = TRACKER_PROPERTY_TYPE_STRING;
4450 #line 477 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4451 return result;
4452 #line 4453 "tracker-sparql-expression.c"
4453 } else {
4454 const gchar* _tmp14_;
4455 #line 478 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4456 _tmp14_ = uri;
4457 #line 478 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4458 if (g_strcmp0 (_tmp14_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "ascii-lower-case") == 0) {
4459 #line 4460 "tracker-sparql-expression.c"
4460 GString* _tmp15_;
4461 GString* _tmp16_;
4462 GString* _tmp17_;
4463 #line 480 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4464 _tmp15_ = sql;
4465 #line 480 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4466 g_string_append (_tmp15_, "lower (");
4467 #line 481 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4468 _tmp16_ = sql;
4469 #line 481 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4470 tracker_sparql_expression_translate_expression_as_string (self, _tmp16_, &_inner_error_);
4471 #line 481 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4472 if (_inner_error_ != NULL) {
4473 #line 481 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4474 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4475 #line 481 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4476 g_propagate_error (error, _inner_error_);
4477 #line 481 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4478 return 0;
4479 #line 4480 "tracker-sparql-expression.c"
4480 } else {
4481 #line 481 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4482 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4483 #line 481 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4484 g_clear_error (&_inner_error_);
4485 #line 481 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4486 return 0;
4487 #line 4488 "tracker-sparql-expression.c"
4488 }
4489 }
4490 #line 482 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4491 _tmp17_ = sql;
4492 #line 482 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4493 g_string_append (_tmp17_, ")");
4494 #line 483 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4495 result = TRACKER_PROPERTY_TYPE_STRING;
4496 #line 483 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4497 return result;
4498 #line 4499 "tracker-sparql-expression.c"
4499 } else {
4500 const gchar* _tmp18_;
4501 #line 484 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4502 _tmp18_ = uri;
4503 #line 484 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4504 if (g_strcmp0 (_tmp18_, TRACKER_SPARQL_EXPRESSION_FN_NS "lower-case") == 0) {
4505 #line 4506 "tracker-sparql-expression.c"
4506 GString* _tmp19_;
4507 GString* _tmp20_;
4508 GString* _tmp21_;
4509 #line 486 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4510 _tmp19_ = sql;
4511 #line 486 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4512 g_string_append (_tmp19_, "SparqlLowerCase (");
4513 #line 487 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4514 _tmp20_ = sql;
4515 #line 487 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4516 tracker_sparql_expression_translate_expression_as_string (self, _tmp20_, &_inner_error_);
4517 #line 487 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4518 if (_inner_error_ != NULL) {
4519 #line 487 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4520 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4521 #line 487 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4522 g_propagate_error (error, _inner_error_);
4523 #line 487 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4524 return 0;
4525 #line 4526 "tracker-sparql-expression.c"
4526 } else {
4527 #line 487 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4528 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4529 #line 487 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4530 g_clear_error (&_inner_error_);
4531 #line 487 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4532 return 0;
4533 #line 4534 "tracker-sparql-expression.c"
4534 }
4535 }
4536 #line 488 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4537 _tmp21_ = sql;
4538 #line 488 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4539 g_string_append (_tmp21_, ")");
4540 #line 489 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4541 result = TRACKER_PROPERTY_TYPE_STRING;
4542 #line 489 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4543 return result;
4544 #line 4545 "tracker-sparql-expression.c"
4545 } else {
4546 const gchar* _tmp22_;
4547 #line 490 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4548 _tmp22_ = uri;
4549 #line 490 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4550 if (g_strcmp0 (_tmp22_, TRACKER_SPARQL_EXPRESSION_FN_NS "contains") == 0) {
4551 #line 4552 "tracker-sparql-expression.c"
4552 GString* _tmp23_;
4553 GString* _tmp24_;
4554 GString* _tmp25_;
4555 GString* _tmp26_;
4556 TrackerSparqlLiteralBinding* _tmp27_;
4557 TrackerSparqlLiteralBinding* binding;
4558 gchar* _tmp28_ = NULL;
4559 gchar* _tmp29_;
4560 TrackerSparqlLiteralBinding* _tmp30_;
4561 gchar* _tmp31_;
4562 gchar* _tmp32_ = NULL;
4563 TrackerSparqlQuery* _tmp33_;
4564 TrackerSparqlLiteralBinding* _tmp34_;
4565 TrackerSparqlLiteralBinding* _tmp35_;
4566 GString* _tmp36_;
4567 #line 492 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4568 _tmp23_ = sql;
4569 #line 492 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4570 g_string_append (_tmp23_, "(");
4571 #line 493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4572 _tmp24_ = sql;
4573 #line 493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4574 tracker_sparql_expression_translate_expression_as_string (self, _tmp24_, &_inner_error_);
4575 #line 493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4576 if (_inner_error_ != NULL) {
4577 #line 493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4578 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4579 #line 493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4580 g_propagate_error (error, _inner_error_);
4581 #line 493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4582 return 0;
4583 #line 4584 "tracker-sparql-expression.c"
4584 } else {
4585 #line 493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4586 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4587 #line 493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4588 g_clear_error (&_inner_error_);
4589 #line 493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4590 return 0;
4591 #line 4592 "tracker-sparql-expression.c"
4592 }
4593 }
4594 #line 494 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4595 _tmp25_ = sql;
4596 #line 494 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4597 g_string_append (_tmp25_, " GLOB ");
4598 #line 495 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4599 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
4600 #line 495 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4601 if (_inner_error_ != NULL) {
4602 #line 495 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4603 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4604 #line 495 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4605 g_propagate_error (error, _inner_error_);
4606 #line 495 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4607 return 0;
4608 #line 4609 "tracker-sparql-expression.c"
4609 } else {
4610 #line 495 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4611 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4612 #line 495 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4613 g_clear_error (&_inner_error_);
4614 #line 495 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4615 return 0;
4616 #line 4617 "tracker-sparql-expression.c"
4617 }
4618 }
4619 #line 497 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4620 _tmp26_ = sql;
4621 #line 497 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4622 g_string_append (_tmp26_, "?");
4623 #line 498 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4624 _tmp27_ = tracker_sparql_literal_binding_new ();
4625 #line 498 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4626 binding = _tmp27_;
4627 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4628 _tmp28_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
4629 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4630 _tmp29_ = _tmp28_;
4631 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4632 if (_inner_error_ != NULL) {
4633 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4634 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4635 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4636 g_propagate_error (error, _inner_error_);
4637 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4638 _g_object_unref0 (binding);
4639 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4640 return 0;
4641 #line 4642 "tracker-sparql-expression.c"
4642 } else {
4643 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4644 _g_object_unref0 (binding);
4645 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4646 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4647 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4648 g_clear_error (&_inner_error_);
4649 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4650 return 0;
4651 #line 4652 "tracker-sparql-expression.c"
4652 }
4653 }
4654 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4655 _tmp30_ = binding;
4656 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4657 _tmp31_ = _tmp29_;
4658 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4659 _tmp32_ = g_strdup_printf ("*%s*", _tmp31_);
4660 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4661 _g_free0 (_tmp30_->literal);
4662 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4663 _tmp30_->literal = _tmp32_;
4664 #line 499 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4665 _g_free0 (_tmp31_);
4666 #line 500 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4667 _tmp33_ = self->priv->query;
4668 #line 500 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4669 _tmp34_ = binding;
4670 #line 500 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4671 _tmp35_ = _g_object_ref0 (_tmp34_);
4672 #line 500 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4673 _tmp33_->bindings = g_list_append (_tmp33_->bindings, _tmp35_);
4674 #line 502 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4675 _tmp36_ = sql;
4676 #line 502 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4677 g_string_append (_tmp36_, ")");
4678 #line 504 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4679 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
4680 #line 504 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4681 _g_object_unref0 (binding);
4682 #line 504 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4683 return result;
4684 #line 4685 "tracker-sparql-expression.c"
4685 } else {
4686 const gchar* _tmp37_;
4687 #line 505 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4688 _tmp37_ = uri;
4689 #line 505 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4690 if (g_strcmp0 (_tmp37_, TRACKER_SPARQL_EXPRESSION_FN_NS "starts-with") == 0) {
4691 #line 4692 "tracker-sparql-expression.c"
4692 GString* _tmp38_;
4693 GString* _tmp39_;
4694 gchar* _tmp40_ = NULL;
4695 gchar* prefix;
4696 GString* _tmp41_;
4697 TrackerSparqlLiteralBinding* _tmp42_;
4698 TrackerSparqlLiteralBinding* binding;
4699 TrackerSparqlLiteralBinding* _tmp43_;
4700 const gchar* _tmp44_;
4701 gchar* _tmp45_;
4702 TrackerSparqlQuery* _tmp46_;
4703 TrackerSparqlLiteralBinding* _tmp47_;
4704 TrackerSparqlLiteralBinding* _tmp48_;
4705 GString* _tmp49_;
4706 GString* _tmp50_;
4707 TrackerSparqlLiteralBinding* _tmp51_;
4708 TrackerSparqlLiteralBinding* _tmp52_;
4709 const gchar* _tmp53_;
4710 gchar* _tmp54_ = NULL;
4711 gchar* _tmp55_;
4712 gchar* _tmp56_;
4713 TrackerSparqlQuery* _tmp57_;
4714 TrackerSparqlLiteralBinding* _tmp58_;
4715 TrackerSparqlLiteralBinding* _tmp59_;
4716 #line 509 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4717 _tmp38_ = sql;
4718 #line 509 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4719 tracker_sparql_expression_translate_expression_as_string (self, _tmp38_, &_inner_error_);
4720 #line 509 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4721 if (_inner_error_ != NULL) {
4722 #line 509 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4723 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4724 #line 509 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4725 g_propagate_error (error, _inner_error_);
4726 #line 509 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4727 return 0;
4728 #line 4729 "tracker-sparql-expression.c"
4729 } else {
4730 #line 509 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4731 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4732 #line 509 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4733 g_clear_error (&_inner_error_);
4734 #line 509 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4735 return 0;
4736 #line 4737 "tracker-sparql-expression.c"
4737 }
4738 }
4739 #line 510 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4740 _tmp39_ = sql;
4741 #line 510 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4742 g_string_append (_tmp39_, " BETWEEN ");
4743 #line 512 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4744 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
4745 #line 512 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4746 if (_inner_error_ != NULL) {
4747 #line 512 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4748 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4749 #line 512 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4750 g_propagate_error (error, _inner_error_);
4751 #line 512 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4752 return 0;
4753 #line 4754 "tracker-sparql-expression.c"
4754 } else {
4755 #line 512 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4756 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4757 #line 512 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4758 g_clear_error (&_inner_error_);
4759 #line 512 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4760 return 0;
4761 #line 4762 "tracker-sparql-expression.c"
4762 }
4763 }
4764 #line 513 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4765 _tmp40_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
4766 #line 513 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4767 prefix = _tmp40_;
4768 #line 513 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4769 if (_inner_error_ != NULL) {
4770 #line 513 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4771 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4772 #line 513 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4773 g_propagate_error (error, _inner_error_);
4774 #line 513 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4775 return 0;
4776 #line 4777 "tracker-sparql-expression.c"
4777 } else {
4778 #line 513 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4779 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4780 #line 513 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4781 g_clear_error (&_inner_error_);
4782 #line 513 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4783 return 0;
4784 #line 4785 "tracker-sparql-expression.c"
4785 }
4786 }
4787 #line 515 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4788 _tmp41_ = sql;
4789 #line 515 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4790 g_string_append (_tmp41_, "?");
4791 #line 516 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4792 _tmp42_ = tracker_sparql_literal_binding_new ();
4793 #line 516 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4794 binding = _tmp42_;
4795 #line 517 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4796 _tmp43_ = binding;
4797 #line 517 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4798 _tmp44_ = prefix;
4799 #line 517 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4800 _tmp45_ = g_strdup (_tmp44_);
4801 #line 517 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4802 _g_free0 (_tmp43_->literal);
4803 #line 517 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4804 _tmp43_->literal = _tmp45_;
4805 #line 518 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4806 _tmp46_ = self->priv->query;
4807 #line 518 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4808 _tmp47_ = binding;
4809 #line 518 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4810 _tmp48_ = _g_object_ref0 (_tmp47_);
4811 #line 518 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4812 _tmp46_->bindings = g_list_append (_tmp46_->bindings, _tmp48_);
4813 #line 520 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4814 _tmp49_ = sql;
4815 #line 520 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4816 g_string_append (_tmp49_, " AND ");
4817 #line 522 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4818 _tmp50_ = sql;
4819 #line 522 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4820 g_string_append (_tmp50_, "?");
4821 #line 523 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4822 _tmp51_ = tracker_sparql_literal_binding_new ();
4823 #line 523 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4824 _g_object_unref0 (binding);
4825 #line 523 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4826 binding = _tmp51_;
4827 #line 524 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4828 _tmp52_ = binding;
4829 #line 524 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4830 _tmp53_ = prefix;
4831 #line 524 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4832 _tmp54_ = g_unichar_to_string (TRACKER_COLLATION_LAST_CHAR);
4833 #line 524 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4834 _tmp55_ = _tmp54_;
4835 #line 524 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4836 _tmp56_ = g_strconcat (_tmp53_, _tmp55_, NULL);
4837 #line 524 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4838 _g_free0 (_tmp52_->literal);
4839 #line 524 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4840 _tmp52_->literal = _tmp56_;
4841 #line 524 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4842 _g_free0 (_tmp55_);
4843 #line 525 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4844 _tmp57_ = self->priv->query;
4845 #line 525 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4846 _tmp58_ = binding;
4847 #line 525 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4848 _tmp59_ = _g_object_ref0 (_tmp58_);
4849 #line 525 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4850 _tmp57_->bindings = g_list_append (_tmp57_->bindings, _tmp59_);
4851 #line 527 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4852 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
4853 #line 527 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4854 _g_object_unref0 (binding);
4855 #line 527 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4856 _g_free0 (prefix);
4857 #line 527 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4858 return result;
4859 #line 4860 "tracker-sparql-expression.c"
4860 } else {
4861 const gchar* _tmp60_;
4862 #line 528 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4863 _tmp60_ = uri;
4864 #line 528 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4865 if (g_strcmp0 (_tmp60_, TRACKER_SPARQL_EXPRESSION_FN_NS "ends-with") == 0) {
4866 #line 4867 "tracker-sparql-expression.c"
4867 GString* _tmp61_;
4868 GString* _tmp62_;
4869 GString* _tmp63_;
4870 GString* _tmp64_;
4871 TrackerSparqlLiteralBinding* _tmp65_;
4872 TrackerSparqlLiteralBinding* binding;
4873 gchar* _tmp66_ = NULL;
4874 gchar* _tmp67_;
4875 TrackerSparqlLiteralBinding* _tmp68_;
4876 gchar* _tmp69_;
4877 gchar* _tmp70_ = NULL;
4878 TrackerSparqlQuery* _tmp71_;
4879 TrackerSparqlLiteralBinding* _tmp72_;
4880 TrackerSparqlLiteralBinding* _tmp73_;
4881 GString* _tmp74_;
4882 #line 530 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4883 _tmp61_ = sql;
4884 #line 530 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4885 g_string_append (_tmp61_, "(");
4886 #line 531 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4887 _tmp62_ = sql;
4888 #line 531 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4889 tracker_sparql_expression_translate_expression_as_string (self, _tmp62_, &_inner_error_);
4890 #line 531 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4891 if (_inner_error_ != NULL) {
4892 #line 531 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4893 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4894 #line 531 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4895 g_propagate_error (error, _inner_error_);
4896 #line 531 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4897 return 0;
4898 #line 4899 "tracker-sparql-expression.c"
4899 } else {
4900 #line 531 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4901 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4902 #line 531 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4903 g_clear_error (&_inner_error_);
4904 #line 531 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4905 return 0;
4906 #line 4907 "tracker-sparql-expression.c"
4907 }
4908 }
4909 #line 532 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4910 _tmp63_ = sql;
4911 #line 532 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4912 g_string_append (_tmp63_, " GLOB ");
4913 #line 533 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4914 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
4915 #line 533 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4916 if (_inner_error_ != NULL) {
4917 #line 533 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4918 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4919 #line 533 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4920 g_propagate_error (error, _inner_error_);
4921 #line 533 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4922 return 0;
4923 #line 4924 "tracker-sparql-expression.c"
4924 } else {
4925 #line 533 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4926 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4927 #line 533 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4928 g_clear_error (&_inner_error_);
4929 #line 533 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4930 return 0;
4931 #line 4932 "tracker-sparql-expression.c"
4932 }
4933 }
4934 #line 535 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4935 _tmp64_ = sql;
4936 #line 535 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4937 g_string_append (_tmp64_, "?");
4938 #line 536 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4939 _tmp65_ = tracker_sparql_literal_binding_new ();
4940 #line 536 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4941 binding = _tmp65_;
4942 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4943 _tmp66_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
4944 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4945 _tmp67_ = _tmp66_;
4946 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4947 if (_inner_error_ != NULL) {
4948 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4949 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
4950 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4951 g_propagate_error (error, _inner_error_);
4952 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4953 _g_object_unref0 (binding);
4954 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4955 return 0;
4956 #line 4957 "tracker-sparql-expression.c"
4957 } else {
4958 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4959 _g_object_unref0 (binding);
4960 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4961 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4962 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4963 g_clear_error (&_inner_error_);
4964 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4965 return 0;
4966 #line 4967 "tracker-sparql-expression.c"
4967 }
4968 }
4969 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4970 _tmp68_ = binding;
4971 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4972 _tmp69_ = _tmp67_;
4973 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4974 _tmp70_ = g_strdup_printf ("*%s", _tmp69_);
4975 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4976 _g_free0 (_tmp68_->literal);
4977 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4978 _tmp68_->literal = _tmp70_;
4979 #line 537 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4980 _g_free0 (_tmp69_);
4981 #line 538 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4982 _tmp71_ = self->priv->query;
4983 #line 538 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4984 _tmp72_ = binding;
4985 #line 538 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4986 _tmp73_ = _g_object_ref0 (_tmp72_);
4987 #line 538 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4988 _tmp71_->bindings = g_list_append (_tmp71_->bindings, _tmp73_);
4989 #line 540 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4990 _tmp74_ = sql;
4991 #line 540 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4992 g_string_append (_tmp74_, ")");
4993 #line 542 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4994 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
4995 #line 542 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4996 _g_object_unref0 (binding);
4997 #line 542 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
4998 return result;
4999 #line 5000 "tracker-sparql-expression.c"
5000 } else {
5001 const gchar* _tmp75_;
5002 #line 543 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5003 _tmp75_ = uri;
5004 #line 543 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5005 if (g_strcmp0 (_tmp75_, TRACKER_SPARQL_EXPRESSION_FN_NS "substring") == 0) {
5006 #line 5007 "tracker-sparql-expression.c"
5007 GString* _tmp76_;
5008 GString* _tmp77_;
5009 GString* _tmp78_;
5010 GString* _tmp79_;
5011 gboolean _tmp80_ = FALSE;
5012 gboolean _tmp81_;
5013 GString* _tmp84_;
5014 #line 544 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5015 _tmp76_ = sql;
5016 #line 544 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5017 g_string_append (_tmp76_, "substr(");
5018 #line 545 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5019 _tmp77_ = sql;
5020 #line 545 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5021 tracker_sparql_expression_translate_expression_as_string (self, _tmp77_, &_inner_error_);
5022 #line 545 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5023 if (_inner_error_ != NULL) {
5024 #line 545 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5025 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5026 #line 545 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5027 g_propagate_error (error, _inner_error_);
5028 #line 545 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5029 return 0;
5030 #line 5031 "tracker-sparql-expression.c"
5031 } else {
5032 #line 545 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5033 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5034 #line 545 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5035 g_clear_error (&_inner_error_);
5036 #line 545 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5037 return 0;
5038 #line 5039 "tracker-sparql-expression.c"
5039 }
5040 }
5041 #line 547 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5042 _tmp78_ = sql;
5043 #line 547 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5044 g_string_append (_tmp78_, ", ");
5045 #line 548 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5046 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
5047 #line 548 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5048 if (_inner_error_ != NULL) {
5049 #line 548 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5050 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5051 #line 548 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5052 g_propagate_error (error, _inner_error_);
5053 #line 548 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5054 return 0;
5055 #line 5056 "tracker-sparql-expression.c"
5056 } else {
5057 #line 548 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5058 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5059 #line 548 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5060 g_clear_error (&_inner_error_);
5061 #line 548 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5062 return 0;
5063 #line 5064 "tracker-sparql-expression.c"
5064 }
5065 }
5066 #line 549 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5067 _tmp79_ = sql;
5068 #line 549 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5069 tracker_sparql_expression_translate_expression_as_string (self, _tmp79_, &_inner_error_);
5070 #line 549 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5071 if (_inner_error_ != NULL) {
5072 #line 549 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5073 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5074 #line 549 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5075 g_propagate_error (error, _inner_error_);
5076 #line 549 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5077 return 0;
5078 #line 5079 "tracker-sparql-expression.c"
5079 } else {
5080 #line 549 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5081 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5082 #line 549 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5083 g_clear_error (&_inner_error_);
5084 #line 549 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5085 return 0;
5086 #line 5087 "tracker-sparql-expression.c"
5087 }
5088 }
5089 #line 551 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5090 _tmp80_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
5091 #line 551 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5092 _tmp81_ = _tmp80_;
5093 #line 551 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5094 if (_inner_error_ != NULL) {
5095 #line 551 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5096 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5097 #line 551 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5098 g_propagate_error (error, _inner_error_);
5099 #line 551 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5100 return 0;
5101 #line 5102 "tracker-sparql-expression.c"
5102 } else {
5103 #line 551 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5104 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5105 #line 551 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5106 g_clear_error (&_inner_error_);
5107 #line 551 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5108 return 0;
5109 #line 5110 "tracker-sparql-expression.c"
5110 }
5111 }
5112 #line 551 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5113 if (_tmp81_) {
5114 #line 5115 "tracker-sparql-expression.c"
5115 GString* _tmp82_;
5116 GString* _tmp83_;
5117 #line 552 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5118 _tmp82_ = sql;
5119 #line 552 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5120 g_string_append (_tmp82_, ", ");
5121 #line 553 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5122 _tmp83_ = sql;
5123 #line 553 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5124 tracker_sparql_expression_translate_expression_as_string (self, _tmp83_, &_inner_error_);
5125 #line 553 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5126 if (_inner_error_ != NULL) {
5127 #line 553 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5128 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5129 #line 553 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5130 g_propagate_error (error, _inner_error_);
5131 #line 553 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5132 return 0;
5133 #line 5134 "tracker-sparql-expression.c"
5134 } else {
5135 #line 553 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5136 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5137 #line 553 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5138 g_clear_error (&_inner_error_);
5139 #line 553 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5140 return 0;
5141 #line 5142 "tracker-sparql-expression.c"
5142 }
5143 }
5144 }
5145 #line 556 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5146 _tmp84_ = sql;
5147 #line 556 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5148 g_string_append (_tmp84_, ")");
5149 #line 558 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5150 result = TRACKER_PROPERTY_TYPE_STRING;
5151 #line 558 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5152 return result;
5153 #line 5154 "tracker-sparql-expression.c"
5154 } else {
5155 const gchar* _tmp85_;
5156 #line 559 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5157 _tmp85_ = uri;
5158 #line 559 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5159 if (g_strcmp0 (_tmp85_, TRACKER_SPARQL_EXPRESSION_FN_NS "concat") == 0) {
5160 #line 5161 "tracker-sparql-expression.c"
5161 GString* _tmp86_;
5162 GString* _tmp87_;
5163 GString* _tmp88_;
5164 #line 560 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5165 _tmp86_ = sql;
5166 #line 560 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5167 tracker_sparql_expression_translate_expression_as_string (self, _tmp86_, &_inner_error_);
5168 #line 560 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5169 if (_inner_error_ != NULL) {
5170 #line 560 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5171 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5172 #line 560 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5173 g_propagate_error (error, _inner_error_);
5174 #line 560 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5175 return 0;
5176 #line 5177 "tracker-sparql-expression.c"
5177 } else {
5178 #line 560 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5179 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5180 #line 560 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5181 g_clear_error (&_inner_error_);
5182 #line 560 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5183 return 0;
5184 #line 5185 "tracker-sparql-expression.c"
5185 }
5186 }
5187 #line 561 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5188 _tmp87_ = sql;
5189 #line 561 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5190 g_string_append (_tmp87_, "||");
5191 #line 562 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5192 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
5193 #line 562 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5194 if (_inner_error_ != NULL) {
5195 #line 562 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5196 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5197 #line 562 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5198 g_propagate_error (error, _inner_error_);
5199 #line 562 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5200 return 0;
5201 #line 5202 "tracker-sparql-expression.c"
5202 } else {
5203 #line 562 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5204 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5205 #line 562 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5206 g_clear_error (&_inner_error_);
5207 #line 562 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5208 return 0;
5209 #line 5210 "tracker-sparql-expression.c"
5210 }
5211 }
5212 #line 563 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5213 _tmp88_ = sql;
5214 #line 563 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5215 tracker_sparql_expression_translate_expression_as_string (self, _tmp88_, &_inner_error_);
5216 #line 563 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5217 if (_inner_error_ != NULL) {
5218 #line 563 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5219 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5220 #line 563 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5221 g_propagate_error (error, _inner_error_);
5222 #line 563 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5223 return 0;
5224 #line 5225 "tracker-sparql-expression.c"
5225 } else {
5226 #line 563 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5227 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5228 #line 563 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5229 g_clear_error (&_inner_error_);
5230 #line 563 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5231 return 0;
5232 #line 5233 "tracker-sparql-expression.c"
5233 }
5234 }
5235 #line 564 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5236 while (TRUE) {
5237 #line 5238 "tracker-sparql-expression.c"
5238 gboolean _tmp89_ = FALSE;
5239 gboolean _tmp90_;
5240 GString* _tmp91_;
5241 GString* _tmp92_;
5242 #line 564 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5243 _tmp89_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
5244 #line 564 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5245 _tmp90_ = _tmp89_;
5246 #line 564 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5247 if (_inner_error_ != NULL) {
5248 #line 564 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5249 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5250 #line 564 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5251 g_propagate_error (error, _inner_error_);
5252 #line 564 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5253 return 0;
5254 #line 5255 "tracker-sparql-expression.c"
5255 } else {
5256 #line 564 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5257 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5258 #line 564 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5259 g_clear_error (&_inner_error_);
5260 #line 564 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5261 return 0;
5262 #line 5263 "tracker-sparql-expression.c"
5263 }
5264 }
5265 #line 564 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5266 if (!_tmp90_) {
5267 #line 564 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5268 break;
5269 #line 5270 "tracker-sparql-expression.c"
5270 }
5271 #line 565 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5272 _tmp91_ = sql;
5273 #line 565 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5274 g_string_append (_tmp91_, "||");
5275 #line 566 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5276 _tmp92_ = sql;
5277 #line 566 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5278 tracker_sparql_expression_translate_expression_as_string (self, _tmp92_, &_inner_error_);
5279 #line 566 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5280 if (_inner_error_ != NULL) {
5281 #line 566 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5282 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5283 #line 566 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5284 g_propagate_error (error, _inner_error_);
5285 #line 566 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5286 return 0;
5287 #line 5288 "tracker-sparql-expression.c"
5288 } else {
5289 #line 566 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5290 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5291 #line 566 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5292 g_clear_error (&_inner_error_);
5293 #line 566 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5294 return 0;
5295 #line 5296 "tracker-sparql-expression.c"
5296 }
5297 }
5298 }
5299 #line 569 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5300 result = TRACKER_PROPERTY_TYPE_STRING;
5301 #line 569 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5302 return result;
5303 #line 5304 "tracker-sparql-expression.c"
5304 } else {
5305 const gchar* _tmp93_;
5306 #line 570 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5307 _tmp93_ = uri;
5308 #line 570 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5309 if (g_strcmp0 (_tmp93_, TRACKER_SPARQL_EXPRESSION_FN_NS "string-join") == 0) {
5310 #line 5311 "tracker-sparql-expression.c"
5311 GString* _tmp94_;
5312 GString* _tmp95_;
5313 GString* _tmp96_;
5314 GString* _tmp97_;
5315 GString* _tmp102_;
5316 GString* _tmp103_;
5317 GString* _tmp104_;
5318 #line 571 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5319 _tmp94_ = sql;
5320 #line 571 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5321 g_string_append (_tmp94_, "SparqlStringJoin(");
5322 #line 572 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5323 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
5324 #line 572 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5325 if (_inner_error_ != NULL) {
5326 #line 572 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5327 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5328 #line 572 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5329 g_propagate_error (error, _inner_error_);
5330 #line 572 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5331 return 0;
5332 #line 5333 "tracker-sparql-expression.c"
5333 } else {
5334 #line 572 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5335 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5336 #line 572 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5337 g_clear_error (&_inner_error_);
5338 #line 572 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5339 return 0;
5340 #line 5341 "tracker-sparql-expression.c"
5341 }
5342 }
5343 #line 574 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5344 _tmp95_ = sql;
5345 #line 574 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5346 tracker_sparql_expression_translate_expression_as_string (self, _tmp95_, &_inner_error_);
5347 #line 574 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5348 if (_inner_error_ != NULL) {
5349 #line 574 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5350 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5351 #line 574 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5352 g_propagate_error (error, _inner_error_);
5353 #line 574 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5354 return 0;
5355 #line 5356 "tracker-sparql-expression.c"
5356 } else {
5357 #line 574 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5358 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5359 #line 574 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5360 g_clear_error (&_inner_error_);
5361 #line 574 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5362 return 0;
5363 #line 5364 "tracker-sparql-expression.c"
5364 }
5365 }
5366 #line 575 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5367 _tmp96_ = sql;
5368 #line 575 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5369 g_string_append (_tmp96_, ", ");
5370 #line 576 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5371 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
5372 #line 576 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5373 if (_inner_error_ != NULL) {
5374 #line 576 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5375 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5376 #line 576 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5377 g_propagate_error (error, _inner_error_);
5378 #line 576 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5379 return 0;
5380 #line 5381 "tracker-sparql-expression.c"
5381 } else {
5382 #line 576 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5383 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5384 #line 576 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5385 g_clear_error (&_inner_error_);
5386 #line 576 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5387 return 0;
5388 #line 5389 "tracker-sparql-expression.c"
5389 }
5390 }
5391 #line 577 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5392 _tmp97_ = sql;
5393 #line 577 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5394 tracker_sparql_expression_translate_expression_as_string (self, _tmp97_, &_inner_error_);
5395 #line 577 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5396 if (_inner_error_ != NULL) {
5397 #line 577 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5398 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5399 #line 577 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5400 g_propagate_error (error, _inner_error_);
5401 #line 577 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5402 return 0;
5403 #line 5404 "tracker-sparql-expression.c"
5404 } else {
5405 #line 577 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5406 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5407 #line 577 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5408 g_clear_error (&_inner_error_);
5409 #line 577 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5410 return 0;
5411 #line 5412 "tracker-sparql-expression.c"
5412 }
5413 }
5414 #line 578 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5415 while (TRUE) {
5416 #line 5417 "tracker-sparql-expression.c"
5417 gboolean _tmp98_ = FALSE;
5418 gboolean _tmp99_;
5419 GString* _tmp100_;
5420 GString* _tmp101_;
5421 #line 578 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5422 _tmp98_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
5423 #line 578 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5424 _tmp99_ = _tmp98_;
5425 #line 578 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5426 if (_inner_error_ != NULL) {
5427 #line 578 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5428 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5429 #line 578 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5430 g_propagate_error (error, _inner_error_);
5431 #line 578 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5432 return 0;
5433 #line 5434 "tracker-sparql-expression.c"
5434 } else {
5435 #line 578 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5436 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5437 #line 578 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5438 g_clear_error (&_inner_error_);
5439 #line 578 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5440 return 0;
5441 #line 5442 "tracker-sparql-expression.c"
5442 }
5443 }
5444 #line 578 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5445 if (!_tmp99_) {
5446 #line 578 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5447 break;
5448 #line 5449 "tracker-sparql-expression.c"
5449 }
5450 #line 579 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5451 _tmp100_ = sql;
5452 #line 579 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5453 g_string_append (_tmp100_, ", ");
5454 #line 580 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5455 _tmp101_ = sql;
5456 #line 580 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5457 tracker_sparql_expression_translate_expression_as_string (self, _tmp101_, &_inner_error_);
5458 #line 580 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5459 if (_inner_error_ != NULL) {
5460 #line 580 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5461 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5462 #line 580 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5463 g_propagate_error (error, _inner_error_);
5464 #line 580 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5465 return 0;
5466 #line 5467 "tracker-sparql-expression.c"
5467 } else {
5468 #line 580 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5469 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5470 #line 580 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5471 g_clear_error (&_inner_error_);
5472 #line 580 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5473 return 0;
5474 #line 5475 "tracker-sparql-expression.c"
5475 }
5476 }
5477 }
5478 #line 583 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5479 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
5480 #line 583 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5481 if (_inner_error_ != NULL) {
5482 #line 583 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5483 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5484 #line 583 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5485 g_propagate_error (error, _inner_error_);
5486 #line 583 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5487 return 0;
5488 #line 5489 "tracker-sparql-expression.c"
5489 } else {
5490 #line 583 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5491 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5492 #line 583 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5493 g_clear_error (&_inner_error_);
5494 #line 583 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5495 return 0;
5496 #line 5497 "tracker-sparql-expression.c"
5497 }
5498 }
5499 #line 584 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5500 _tmp102_ = sql;
5501 #line 584 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5502 g_string_append (_tmp102_, ",");
5503 #line 585 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5504 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
5505 #line 585 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5506 if (_inner_error_ != NULL) {
5507 #line 585 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5508 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5509 #line 585 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5510 g_propagate_error (error, _inner_error_);
5511 #line 585 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5512 return 0;
5513 #line 5514 "tracker-sparql-expression.c"
5514 } else {
5515 #line 585 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5516 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5517 #line 585 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5518 g_clear_error (&_inner_error_);
5519 #line 585 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5520 return 0;
5521 #line 5522 "tracker-sparql-expression.c"
5522 }
5523 }
5524 #line 586 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5525 _tmp103_ = sql;
5526 #line 586 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5527 tracker_sparql_expression_translate_expression (self, _tmp103_, &_inner_error_);
5528 #line 586 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5529 if (_inner_error_ != NULL) {
5530 #line 586 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5531 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5532 #line 586 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5533 g_propagate_error (error, _inner_error_);
5534 #line 586 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5535 return 0;
5536 #line 5537 "tracker-sparql-expression.c"
5537 } else {
5538 #line 586 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5539 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5540 #line 586 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5541 g_clear_error (&_inner_error_);
5542 #line 586 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5543 return 0;
5544 #line 5545 "tracker-sparql-expression.c"
5545 }
5546 }
5547 #line 587 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5548 _tmp104_ = sql;
5549 #line 587 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5550 g_string_append (_tmp104_, ")");
5551 #line 589 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5552 result = TRACKER_PROPERTY_TYPE_STRING;
5553 #line 589 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5554 return result;
5555 #line 5556 "tracker-sparql-expression.c"
5556 } else {
5557 const gchar* _tmp105_;
5558 #line 590 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5559 _tmp105_ = uri;
5560 #line 590 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5561 if (g_strcmp0 (_tmp105_, TRACKER_SPARQL_EXPRESSION_FN_NS "year-from-dateTime") == 0) {
5562 #line 5563 "tracker-sparql-expression.c"
5563 gchar* _tmp106_ = NULL;
5564 gchar* _tmp107_;
5565 gchar* _tmp108_ = NULL;
5566 gchar* _tmp109_;
5567 gchar* variable_name;
5568 TrackerSparqlContext* _tmp110_;
5569 TrackerSparqlContext* _tmp111_;
5570 const gchar* _tmp112_;
5571 TrackerSparqlVariable* _tmp113_ = NULL;
5572 TrackerSparqlVariable* _tmp114_;
5573 TrackerSparqlVariable* variable;
5574 GString* _tmp115_;
5575 GString* _tmp116_;
5576 TrackerSparqlVariable* _tmp117_;
5577 gchar* _tmp118_ = NULL;
5578 gchar* _tmp119_;
5579 GString* _tmp120_;
5580 #line 591 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5581 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
5582 #line 591 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5583 if (_inner_error_ != NULL) {
5584 #line 591 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5585 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5586 #line 591 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5587 g_propagate_error (error, _inner_error_);
5588 #line 591 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5589 return 0;
5590 #line 5591 "tracker-sparql-expression.c"
5591 } else {
5592 #line 591 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5593 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5594 #line 591 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5595 g_clear_error (&_inner_error_);
5596 #line 591 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5597 return 0;
5598 #line 5599 "tracker-sparql-expression.c"
5599 }
5600 }
5601 #line 592 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5602 _tmp106_ = tracker_sparql_expression_get_last_string (self, 0);
5603 #line 592 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5604 _tmp107_ = _tmp106_;
5605 #line 592 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5606 _tmp108_ = string_substring (_tmp107_, (glong) 1, (glong) (-1));
5607 #line 592 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5608 _tmp109_ = _tmp108_;
5609 #line 592 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5610 _g_free0 (_tmp107_);
5611 #line 592 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5612 variable_name = _tmp109_;
5613 #line 593 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5614 _tmp110_ = tracker_sparql_expression_get_context (self);
5615 #line 593 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5616 _tmp111_ = _tmp110_;
5617 #line 593 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5618 _tmp112_ = variable_name;
5619 #line 593 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5620 _tmp113_ = tracker_sparql_context_get_variable (_tmp111_, _tmp112_);
5621 #line 593 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5622 _tmp114_ = _g_object_ref0 (_tmp113_);
5623 #line 593 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5624 variable = _tmp114_;
5625 #line 595 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5626 _tmp115_ = sql;
5627 #line 595 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5628 g_string_append (_tmp115_, "strftime (\"%Y\", ");
5629 #line 596 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5630 _tmp116_ = sql;
5631 #line 596 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5632 _tmp117_ = variable;
5633 #line 596 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5634 _tmp118_ = tracker_sparql_variable_get_extra_sql_expression (_tmp117_, "localDate");
5635 #line 596 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5636 _tmp119_ = _tmp118_;
5637 #line 596 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5638 g_string_append (_tmp116_, _tmp119_);
5639 #line 596 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5640 _g_free0 (_tmp119_);
5641 #line 597 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5642 _tmp120_ = sql;
5643 #line 597 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5644 g_string_append (_tmp120_, " * 24 * 3600, \"unixepoch\")");
5645 #line 599 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5646 result = TRACKER_PROPERTY_TYPE_INTEGER;
5647 #line 599 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5648 _g_object_unref0 (variable);
5649 #line 599 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5650 _g_free0 (variable_name);
5651 #line 599 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5652 return result;
5653 #line 5654 "tracker-sparql-expression.c"
5654 } else {
5655 const gchar* _tmp121_;
5656 #line 600 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5657 _tmp121_ = uri;
5658 #line 600 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5659 if (g_strcmp0 (_tmp121_, TRACKER_SPARQL_EXPRESSION_FN_NS "month-from-dateTime") == 0) {
5660 #line 5661 "tracker-sparql-expression.c"
5661 gchar* _tmp122_ = NULL;
5662 gchar* _tmp123_;
5663 gchar* _tmp124_ = NULL;
5664 gchar* _tmp125_;
5665 gchar* variable_name;
5666 TrackerSparqlContext* _tmp126_;
5667 TrackerSparqlContext* _tmp127_;
5668 const gchar* _tmp128_;
5669 TrackerSparqlVariable* _tmp129_ = NULL;
5670 TrackerSparqlVariable* _tmp130_;
5671 TrackerSparqlVariable* variable;
5672 GString* _tmp131_;
5673 GString* _tmp132_;
5674 TrackerSparqlVariable* _tmp133_;
5675 gchar* _tmp134_ = NULL;
5676 gchar* _tmp135_;
5677 GString* _tmp136_;
5678 #line 601 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5679 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
5680 #line 601 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5681 if (_inner_error_ != NULL) {
5682 #line 601 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5683 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5684 #line 601 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5685 g_propagate_error (error, _inner_error_);
5686 #line 601 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5687 return 0;
5688 #line 5689 "tracker-sparql-expression.c"
5689 } else {
5690 #line 601 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5691 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5692 #line 601 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5693 g_clear_error (&_inner_error_);
5694 #line 601 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5695 return 0;
5696 #line 5697 "tracker-sparql-expression.c"
5697 }
5698 }
5699 #line 602 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5700 _tmp122_ = tracker_sparql_expression_get_last_string (self, 0);
5701 #line 602 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5702 _tmp123_ = _tmp122_;
5703 #line 602 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5704 _tmp124_ = string_substring (_tmp123_, (glong) 1, (glong) (-1));
5705 #line 602 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5706 _tmp125_ = _tmp124_;
5707 #line 602 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5708 _g_free0 (_tmp123_);
5709 #line 602 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5710 variable_name = _tmp125_;
5711 #line 603 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5712 _tmp126_ = tracker_sparql_expression_get_context (self);
5713 #line 603 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5714 _tmp127_ = _tmp126_;
5715 #line 603 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5716 _tmp128_ = variable_name;
5717 #line 603 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5718 _tmp129_ = tracker_sparql_context_get_variable (_tmp127_, _tmp128_);
5719 #line 603 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5720 _tmp130_ = _g_object_ref0 (_tmp129_);
5721 #line 603 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5722 variable = _tmp130_;
5723 #line 605 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5724 _tmp131_ = sql;
5725 #line 605 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5726 g_string_append (_tmp131_, "strftime (\"%m\", ");
5727 #line 606 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5728 _tmp132_ = sql;
5729 #line 606 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5730 _tmp133_ = variable;
5731 #line 606 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5732 _tmp134_ = tracker_sparql_variable_get_extra_sql_expression (_tmp133_, "localDate");
5733 #line 606 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5734 _tmp135_ = _tmp134_;
5735 #line 606 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5736 g_string_append (_tmp132_, _tmp135_);
5737 #line 606 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5738 _g_free0 (_tmp135_);
5739 #line 607 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5740 _tmp136_ = sql;
5741 #line 607 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5742 g_string_append (_tmp136_, " * 24 * 3600, \"unixepoch\")");
5743 #line 609 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5744 result = TRACKER_PROPERTY_TYPE_INTEGER;
5745 #line 609 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5746 _g_object_unref0 (variable);
5747 #line 609 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5748 _g_free0 (variable_name);
5749 #line 609 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5750 return result;
5751 #line 5752 "tracker-sparql-expression.c"
5752 } else {
5753 const gchar* _tmp137_;
5754 #line 610 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5755 _tmp137_ = uri;
5756 #line 610 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5757 if (g_strcmp0 (_tmp137_, TRACKER_SPARQL_EXPRESSION_FN_NS "day-from-dateTime") == 0) {
5758 #line 5759 "tracker-sparql-expression.c"
5759 gchar* _tmp138_ = NULL;
5760 gchar* _tmp139_;
5761 gchar* _tmp140_ = NULL;
5762 gchar* _tmp141_;
5763 gchar* variable_name;
5764 TrackerSparqlContext* _tmp142_;
5765 TrackerSparqlContext* _tmp143_;
5766 const gchar* _tmp144_;
5767 TrackerSparqlVariable* _tmp145_ = NULL;
5768 TrackerSparqlVariable* _tmp146_;
5769 TrackerSparqlVariable* variable;
5770 GString* _tmp147_;
5771 GString* _tmp148_;
5772 TrackerSparqlVariable* _tmp149_;
5773 gchar* _tmp150_ = NULL;
5774 gchar* _tmp151_;
5775 GString* _tmp152_;
5776 #line 611 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5777 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
5778 #line 611 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5779 if (_inner_error_ != NULL) {
5780 #line 611 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5781 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5782 #line 611 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5783 g_propagate_error (error, _inner_error_);
5784 #line 611 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5785 return 0;
5786 #line 5787 "tracker-sparql-expression.c"
5787 } else {
5788 #line 611 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5789 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5790 #line 611 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5791 g_clear_error (&_inner_error_);
5792 #line 611 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5793 return 0;
5794 #line 5795 "tracker-sparql-expression.c"
5795 }
5796 }
5797 #line 612 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5798 _tmp138_ = tracker_sparql_expression_get_last_string (self, 0);
5799 #line 612 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5800 _tmp139_ = _tmp138_;
5801 #line 612 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5802 _tmp140_ = string_substring (_tmp139_, (glong) 1, (glong) (-1));
5803 #line 612 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5804 _tmp141_ = _tmp140_;
5805 #line 612 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5806 _g_free0 (_tmp139_);
5807 #line 612 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5808 variable_name = _tmp141_;
5809 #line 613 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5810 _tmp142_ = tracker_sparql_expression_get_context (self);
5811 #line 613 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5812 _tmp143_ = _tmp142_;
5813 #line 613 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5814 _tmp144_ = variable_name;
5815 #line 613 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5816 _tmp145_ = tracker_sparql_context_get_variable (_tmp143_, _tmp144_);
5817 #line 613 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5818 _tmp146_ = _g_object_ref0 (_tmp145_);
5819 #line 613 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5820 variable = _tmp146_;
5821 #line 615 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5822 _tmp147_ = sql;
5823 #line 615 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5824 g_string_append (_tmp147_, "strftime (\"%d\", ");
5825 #line 616 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5826 _tmp148_ = sql;
5827 #line 616 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5828 _tmp149_ = variable;
5829 #line 616 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5830 _tmp150_ = tracker_sparql_variable_get_extra_sql_expression (_tmp149_, "localDate");
5831 #line 616 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5832 _tmp151_ = _tmp150_;
5833 #line 616 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5834 g_string_append (_tmp148_, _tmp151_);
5835 #line 616 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5836 _g_free0 (_tmp151_);
5837 #line 617 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5838 _tmp152_ = sql;
5839 #line 617 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5840 g_string_append (_tmp152_, " * 24 * 3600, \"unixepoch\")");
5841 #line 619 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5842 result = TRACKER_PROPERTY_TYPE_INTEGER;
5843 #line 619 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5844 _g_object_unref0 (variable);
5845 #line 619 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5846 _g_free0 (variable_name);
5847 #line 619 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5848 return result;
5849 #line 5850 "tracker-sparql-expression.c"
5850 } else {
5851 const gchar* _tmp153_;
5852 #line 620 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5853 _tmp153_ = uri;
5854 #line 620 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5855 if (g_strcmp0 (_tmp153_, TRACKER_SPARQL_EXPRESSION_FN_NS "hours-from-dateTime") == 0) {
5856 #line 5857 "tracker-sparql-expression.c"
5857 gchar* _tmp154_ = NULL;
5858 gchar* _tmp155_;
5859 gchar* _tmp156_ = NULL;
5860 gchar* _tmp157_;
5861 gchar* variable_name;
5862 TrackerSparqlContext* _tmp158_;
5863 TrackerSparqlContext* _tmp159_;
5864 const gchar* _tmp160_;
5865 TrackerSparqlVariable* _tmp161_ = NULL;
5866 TrackerSparqlVariable* _tmp162_;
5867 TrackerSparqlVariable* variable;
5868 GString* _tmp163_;
5869 GString* _tmp164_;
5870 TrackerSparqlVariable* _tmp165_;
5871 gchar* _tmp166_ = NULL;
5872 gchar* _tmp167_;
5873 GString* _tmp168_;
5874 #line 621 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5875 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
5876 #line 621 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5877 if (_inner_error_ != NULL) {
5878 #line 621 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5879 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5880 #line 621 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5881 g_propagate_error (error, _inner_error_);
5882 #line 621 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5883 return 0;
5884 #line 5885 "tracker-sparql-expression.c"
5885 } else {
5886 #line 621 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5887 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5888 #line 621 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5889 g_clear_error (&_inner_error_);
5890 #line 621 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5891 return 0;
5892 #line 5893 "tracker-sparql-expression.c"
5893 }
5894 }
5895 #line 622 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5896 _tmp154_ = tracker_sparql_expression_get_last_string (self, 0);
5897 #line 622 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5898 _tmp155_ = _tmp154_;
5899 #line 622 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5900 _tmp156_ = string_substring (_tmp155_, (glong) 1, (glong) (-1));
5901 #line 622 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5902 _tmp157_ = _tmp156_;
5903 #line 622 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5904 _g_free0 (_tmp155_);
5905 #line 622 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5906 variable_name = _tmp157_;
5907 #line 623 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5908 _tmp158_ = tracker_sparql_expression_get_context (self);
5909 #line 623 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5910 _tmp159_ = _tmp158_;
5911 #line 623 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5912 _tmp160_ = variable_name;
5913 #line 623 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5914 _tmp161_ = tracker_sparql_context_get_variable (_tmp159_, _tmp160_);
5915 #line 623 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5916 _tmp162_ = _g_object_ref0 (_tmp161_);
5917 #line 623 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5918 variable = _tmp162_;
5919 #line 625 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5920 _tmp163_ = sql;
5921 #line 625 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5922 g_string_append (_tmp163_, "(");
5923 #line 626 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5924 _tmp164_ = sql;
5925 #line 626 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5926 _tmp165_ = variable;
5927 #line 626 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5928 _tmp166_ = tracker_sparql_variable_get_extra_sql_expression (_tmp165_, "localTime");
5929 #line 626 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5930 _tmp167_ = _tmp166_;
5931 #line 626 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5932 g_string_append (_tmp164_, _tmp167_);
5933 #line 626 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5934 _g_free0 (_tmp167_);
5935 #line 627 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5936 _tmp168_ = sql;
5937 #line 627 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5938 g_string_append (_tmp168_, " / 3600)");
5939 #line 629 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5940 result = TRACKER_PROPERTY_TYPE_INTEGER;
5941 #line 629 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5942 _g_object_unref0 (variable);
5943 #line 629 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5944 _g_free0 (variable_name);
5945 #line 629 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5946 return result;
5947 #line 5948 "tracker-sparql-expression.c"
5948 } else {
5949 const gchar* _tmp169_;
5950 #line 630 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5951 _tmp169_ = uri;
5952 #line 630 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5953 if (g_strcmp0 (_tmp169_, TRACKER_SPARQL_EXPRESSION_FN_NS "minutes-from-dateTime") == 0) {
5954 #line 5955 "tracker-sparql-expression.c"
5955 gchar* _tmp170_ = NULL;
5956 gchar* _tmp171_;
5957 gchar* _tmp172_ = NULL;
5958 gchar* _tmp173_;
5959 gchar* variable_name;
5960 TrackerSparqlContext* _tmp174_;
5961 TrackerSparqlContext* _tmp175_;
5962 const gchar* _tmp176_;
5963 TrackerSparqlVariable* _tmp177_ = NULL;
5964 TrackerSparqlVariable* _tmp178_;
5965 TrackerSparqlVariable* variable;
5966 GString* _tmp179_;
5967 GString* _tmp180_;
5968 TrackerSparqlVariable* _tmp181_;
5969 gchar* _tmp182_ = NULL;
5970 gchar* _tmp183_;
5971 GString* _tmp184_;
5972 #line 631 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5973 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
5974 #line 631 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5975 if (_inner_error_ != NULL) {
5976 #line 631 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5977 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
5978 #line 631 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5979 g_propagate_error (error, _inner_error_);
5980 #line 631 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5981 return 0;
5982 #line 5983 "tracker-sparql-expression.c"
5983 } else {
5984 #line 631 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5985 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
5986 #line 631 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5987 g_clear_error (&_inner_error_);
5988 #line 631 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5989 return 0;
5990 #line 5991 "tracker-sparql-expression.c"
5991 }
5992 }
5993 #line 632 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5994 _tmp170_ = tracker_sparql_expression_get_last_string (self, 0);
5995 #line 632 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5996 _tmp171_ = _tmp170_;
5997 #line 632 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
5998 _tmp172_ = string_substring (_tmp171_, (glong) 1, (glong) (-1));
5999 #line 632 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6000 _tmp173_ = _tmp172_;
6001 #line 632 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6002 _g_free0 (_tmp171_);
6003 #line 632 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6004 variable_name = _tmp173_;
6005 #line 633 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6006 _tmp174_ = tracker_sparql_expression_get_context (self);
6007 #line 633 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6008 _tmp175_ = _tmp174_;
6009 #line 633 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6010 _tmp176_ = variable_name;
6011 #line 633 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6012 _tmp177_ = tracker_sparql_context_get_variable (_tmp175_, _tmp176_);
6013 #line 633 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6014 _tmp178_ = _g_object_ref0 (_tmp177_);
6015 #line 633 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6016 variable = _tmp178_;
6017 #line 635 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6018 _tmp179_ = sql;
6019 #line 635 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6020 g_string_append (_tmp179_, "(");
6021 #line 636 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6022 _tmp180_ = sql;
6023 #line 636 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6024 _tmp181_ = variable;
6025 #line 636 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6026 _tmp182_ = tracker_sparql_variable_get_extra_sql_expression (_tmp181_, "localTime");
6027 #line 636 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6028 _tmp183_ = _tmp182_;
6029 #line 636 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6030 g_string_append (_tmp180_, _tmp183_);
6031 #line 636 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6032 _g_free0 (_tmp183_);
6033 #line 637 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6034 _tmp184_ = sql;
6035 #line 637 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6036 g_string_append (_tmp184_, " / 60 % 60)");
6037 #line 639 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6038 result = TRACKER_PROPERTY_TYPE_INTEGER;
6039 #line 639 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6040 _g_object_unref0 (variable);
6041 #line 639 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6042 _g_free0 (variable_name);
6043 #line 639 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6044 return result;
6045 #line 6046 "tracker-sparql-expression.c"
6046 } else {
6047 const gchar* _tmp185_;
6048 #line 640 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6049 _tmp185_ = uri;
6050 #line 640 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6051 if (g_strcmp0 (_tmp185_, TRACKER_SPARQL_EXPRESSION_FN_NS "seconds-from-dateTime") == 0) {
6052 #line 6053 "tracker-sparql-expression.c"
6053 gchar* _tmp186_ = NULL;
6054 gchar* _tmp187_;
6055 gchar* _tmp188_ = NULL;
6056 gchar* _tmp189_;
6057 gchar* variable_name;
6058 TrackerSparqlContext* _tmp190_;
6059 TrackerSparqlContext* _tmp191_;
6060 const gchar* _tmp192_;
6061 TrackerSparqlVariable* _tmp193_ = NULL;
6062 TrackerSparqlVariable* _tmp194_;
6063 TrackerSparqlVariable* variable;
6064 GString* _tmp195_;
6065 GString* _tmp196_;
6066 TrackerSparqlVariable* _tmp197_;
6067 gchar* _tmp198_ = NULL;
6068 gchar* _tmp199_;
6069 GString* _tmp200_;
6070 #line 641 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6071 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
6072 #line 641 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6073 if (_inner_error_ != NULL) {
6074 #line 641 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6075 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6076 #line 641 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6077 g_propagate_error (error, _inner_error_);
6078 #line 641 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6079 return 0;
6080 #line 6081 "tracker-sparql-expression.c"
6081 } else {
6082 #line 641 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6083 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6084 #line 641 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6085 g_clear_error (&_inner_error_);
6086 #line 641 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6087 return 0;
6088 #line 6089 "tracker-sparql-expression.c"
6089 }
6090 }
6091 #line 642 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6092 _tmp186_ = tracker_sparql_expression_get_last_string (self, 0);
6093 #line 642 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6094 _tmp187_ = _tmp186_;
6095 #line 642 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6096 _tmp188_ = string_substring (_tmp187_, (glong) 1, (glong) (-1));
6097 #line 642 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6098 _tmp189_ = _tmp188_;
6099 #line 642 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6100 _g_free0 (_tmp187_);
6101 #line 642 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6102 variable_name = _tmp189_;
6103 #line 643 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6104 _tmp190_ = tracker_sparql_expression_get_context (self);
6105 #line 643 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6106 _tmp191_ = _tmp190_;
6107 #line 643 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6108 _tmp192_ = variable_name;
6109 #line 643 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6110 _tmp193_ = tracker_sparql_context_get_variable (_tmp191_, _tmp192_);
6111 #line 643 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6112 _tmp194_ = _g_object_ref0 (_tmp193_);
6113 #line 643 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6114 variable = _tmp194_;
6115 #line 645 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6116 _tmp195_ = sql;
6117 #line 645 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6118 g_string_append (_tmp195_, "(");
6119 #line 646 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6120 _tmp196_ = sql;
6121 #line 646 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6122 _tmp197_ = variable;
6123 #line 646 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6124 _tmp198_ = tracker_sparql_variable_get_extra_sql_expression (_tmp197_, "localTime");
6125 #line 646 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6126 _tmp199_ = _tmp198_;
6127 #line 646 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6128 g_string_append (_tmp196_, _tmp199_);
6129 #line 646 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6130 _g_free0 (_tmp199_);
6131 #line 647 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6132 _tmp200_ = sql;
6133 #line 647 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6134 g_string_append (_tmp200_, "% 60)");
6135 #line 649 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6136 result = TRACKER_PROPERTY_TYPE_INTEGER;
6137 #line 649 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6138 _g_object_unref0 (variable);
6139 #line 649 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6140 _g_free0 (variable_name);
6141 #line 649 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6142 return result;
6143 #line 6144 "tracker-sparql-expression.c"
6144 } else {
6145 const gchar* _tmp201_;
6146 #line 650 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6147 _tmp201_ = uri;
6148 #line 650 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6149 if (g_strcmp0 (_tmp201_, TRACKER_SPARQL_EXPRESSION_FN_NS "timezone-from-dateTime") == 0) {
6150 #line 6151 "tracker-sparql-expression.c"
6151 gchar* _tmp202_ = NULL;
6152 gchar* _tmp203_;
6153 gchar* _tmp204_ = NULL;
6154 gchar* _tmp205_;
6155 gchar* variable_name;
6156 TrackerSparqlContext* _tmp206_;
6157 TrackerSparqlContext* _tmp207_;
6158 const gchar* _tmp208_;
6159 TrackerSparqlVariable* _tmp209_ = NULL;
6160 TrackerSparqlVariable* _tmp210_;
6161 TrackerSparqlVariable* variable;
6162 GString* _tmp211_;
6163 GString* _tmp212_;
6164 TrackerSparqlVariable* _tmp213_;
6165 gchar* _tmp214_ = NULL;
6166 gchar* _tmp215_;
6167 GString* _tmp216_;
6168 GString* _tmp217_;
6169 TrackerSparqlVariable* _tmp218_;
6170 gchar* _tmp219_ = NULL;
6171 gchar* _tmp220_;
6172 GString* _tmp221_;
6173 GString* _tmp222_;
6174 GString* _tmp223_;
6175 TrackerSparqlVariable* _tmp224_;
6176 const gchar* _tmp225_;
6177 const gchar* _tmp226_;
6178 GString* _tmp227_;
6179 GString* _tmp228_;
6180 #line 651 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6181 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
6182 #line 651 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6183 if (_inner_error_ != NULL) {
6184 #line 651 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6185 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6186 #line 651 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6187 g_propagate_error (error, _inner_error_);
6188 #line 651 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6189 return 0;
6190 #line 6191 "tracker-sparql-expression.c"
6191 } else {
6192 #line 651 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6193 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6194 #line 651 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6195 g_clear_error (&_inner_error_);
6196 #line 651 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6197 return 0;
6198 #line 6199 "tracker-sparql-expression.c"
6199 }
6200 }
6201 #line 652 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6202 _tmp202_ = tracker_sparql_expression_get_last_string (self, 0);
6203 #line 652 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6204 _tmp203_ = _tmp202_;
6205 #line 652 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6206 _tmp204_ = string_substring (_tmp203_, (glong) 1, (glong) (-1));
6207 #line 652 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6208 _tmp205_ = _tmp204_;
6209 #line 652 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6210 _g_free0 (_tmp203_);
6211 #line 652 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6212 variable_name = _tmp205_;
6213 #line 653 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6214 _tmp206_ = tracker_sparql_expression_get_context (self);
6215 #line 653 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6216 _tmp207_ = _tmp206_;
6217 #line 653 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6218 _tmp208_ = variable_name;
6219 #line 653 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6220 _tmp209_ = tracker_sparql_context_get_variable (_tmp207_, _tmp208_);
6221 #line 653 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6222 _tmp210_ = _g_object_ref0 (_tmp209_);
6223 #line 653 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6224 variable = _tmp210_;
6225 #line 655 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6226 _tmp211_ = sql;
6227 #line 655 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6228 g_string_append (_tmp211_, "(");
6229 #line 656 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6230 _tmp212_ = sql;
6231 #line 656 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6232 _tmp213_ = variable;
6233 #line 656 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6234 _tmp214_ = tracker_sparql_variable_get_extra_sql_expression (_tmp213_, "localDate");
6235 #line 656 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6236 _tmp215_ = _tmp214_;
6237 #line 656 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6238 g_string_append (_tmp212_, _tmp215_);
6239 #line 656 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6240 _g_free0 (_tmp215_);
6241 #line 657 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6242 _tmp216_ = sql;
6243 #line 657 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6244 g_string_append (_tmp216_, " * 24 * 3600 + ");
6245 #line 658 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6246 _tmp217_ = sql;
6247 #line 658 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6248 _tmp218_ = variable;
6249 #line 658 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6250 _tmp219_ = tracker_sparql_variable_get_extra_sql_expression (_tmp218_, "localTime");
6251 #line 658 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6252 _tmp220_ = _tmp219_;
6253 #line 658 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6254 g_string_append (_tmp217_, _tmp220_);
6255 #line 658 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6256 _g_free0 (_tmp220_);
6257 #line 659 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6258 _tmp221_ = sql;
6259 #line 659 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6260 g_string_append (_tmp221_, "- ");
6261 #line 660 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6262 _tmp222_ = sql;
6263 #line 660 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6264 g_string_append (_tmp222_, "CAST (");
6265 #line 661 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6266 _tmp223_ = sql;
6267 #line 661 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6268 _tmp224_ = variable;
6269 #line 661 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6270 _tmp225_ = tracker_sparql_variable_get_sql_expression (_tmp224_);
6271 #line 661 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6272 _tmp226_ = _tmp225_;
6273 #line 661 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6274 g_string_append (_tmp223_, _tmp226_);
6275 #line 662 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6276 _tmp227_ = sql;
6277 #line 662 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6278 g_string_append (_tmp227_, " AS INTEGER)");
6279 #line 663 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6280 _tmp228_ = sql;
6281 #line 663 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6282 g_string_append (_tmp228_, ")");
6283 #line 665 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6284 result = TRACKER_PROPERTY_TYPE_INTEGER;
6285 #line 665 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6286 _g_object_unref0 (variable);
6287 #line 665 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6288 _g_free0 (variable_name);
6289 #line 665 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6290 return result;
6291 #line 6292 "tracker-sparql-expression.c"
6292 } else {
6293 const gchar* _tmp229_;
6294 #line 666 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6295 _tmp229_ = uri;
6296 #line 666 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6297 if (g_strcmp0 (_tmp229_, TRACKER_SPARQL_EXPRESSION_FTS_NS "rank") == 0) {
6298 #line 6299 "tracker-sparql-expression.c"
6299 gboolean is_var = FALSE;
(emitted by gcc) 6300 TrackerSparqlPattern* _tmp230_;
6301 TrackerSparqlPattern* _tmp231_;
6302 gboolean _tmp232_ = FALSE;
6303 gchar* _tmp233_ = NULL;
6304 gchar* v;
6305 GString* _tmp234_;
6306 const gchar* _tmp235_;
6307 #line 668 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6308 _tmp230_ = tracker_sparql_expression_get_pattern (self);
6309 #line 668 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6310 _tmp231_ = _tmp230_;
6311 #line 668 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6312 _tmp233_ = tracker_sparql_pattern_parse_var_or_term (_tmp231_, NULL, &_tmp232_, &_inner_error_);
6313 #line 668 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6314 is_var = _tmp232_;
(emitted by clang-analyzer)TODO: a detailed trace is available in the data model (not yet rendered in this report)
6315 #line 668 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6316 v = _tmp233_;
6317 #line 668 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6318 if (_inner_error_ != NULL) {
6319 #line 668 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6320 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6321 #line 668 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6322 g_propagate_error (error, _inner_error_);
6323 #line 668 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6324 return 0;
6325 #line 6326 "tracker-sparql-expression.c"
6326 } else {
6327 #line 668 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6328 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6329 #line 668 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6330 g_clear_error (&_inner_error_);
6331 #line 668 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6332 return 0;
6333 #line 6334 "tracker-sparql-expression.c"
6334 }
6335 }
6336 #line 669 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6337 _tmp234_ = sql;
6338 #line 669 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6339 _tmp235_ = v;
6340 #line 669 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6341 g_string_append_printf (_tmp234_, "\"%s_u_rank\"", _tmp235_);
6342 #line 671 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6343 result = TRACKER_PROPERTY_TYPE_DOUBLE;
6344 #line 671 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6345 _g_free0 (v);
6346 #line 671 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6347 return result;
6348 #line 6349 "tracker-sparql-expression.c"
6349 } else {
6350 const gchar* _tmp236_;
6351 #line 672 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6352 _tmp236_ = uri;
6353 #line 672 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6354 if (g_strcmp0 (_tmp236_, TRACKER_SPARQL_EXPRESSION_FTS_NS "offsets") == 0) {
6355 #line 6356 "tracker-sparql-expression.c"
6356 gboolean is_var = FALSE;
6357 TrackerSparqlPattern* _tmp237_;
6358 TrackerSparqlPattern* _tmp238_;
6359 gboolean _tmp239_ = FALSE;
6360 gchar* _tmp240_ = NULL;
6361 gchar* v;
6362 TrackerSparqlContext* _tmp241_;
6363 TrackerSparqlContext* _tmp242_;
6364 const gchar* _tmp243_;
6365 TrackerSparqlVariable* _tmp244_ = NULL;
6366 TrackerSparqlVariable* _tmp245_;
6367 TrackerSparqlVariable* variable;
6368 GString* _tmp246_;
6369 TrackerSparqlVariable* _tmp247_;
6370 const gchar* _tmp248_;
6371 const gchar* _tmp249_;
6372 gchar* _tmp250_;
6373 #line 674 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6374 _tmp237_ = tracker_sparql_expression_get_pattern (self);
6375 #line 674 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6376 _tmp238_ = _tmp237_;
6377 #line 674 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6378 _tmp240_ = tracker_sparql_pattern_parse_var_or_term (_tmp238_, NULL, &_tmp239_, &_inner_error_);
6379 #line 674 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6380 is_var = _tmp239_;
(emitted by clang-analyzer)TODO: a detailed trace is available in the data model (not yet rendered in this report)
6381 #line 674 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6382 v = _tmp240_;
6383 #line 674 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6384 if (_inner_error_ != NULL) {
6385 #line 674 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6386 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6387 #line 674 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6388 g_propagate_error (error, _inner_error_);
6389 #line 674 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6390 return 0;
6391 #line 6392 "tracker-sparql-expression.c"
6392 } else {
6393 #line 674 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6394 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6395 #line 674 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6396 g_clear_error (&_inner_error_);
6397 #line 674 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6398 return 0;
6399 #line 6400 "tracker-sparql-expression.c"
6400 }
6401 }
6402 #line 675 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6403 _tmp241_ = tracker_sparql_expression_get_context (self);
6404 #line 675 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6405 _tmp242_ = _tmp241_;
6406 #line 675 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6407 _tmp243_ = v;
6408 #line 675 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6409 _tmp244_ = tracker_sparql_context_get_variable (_tmp242_, _tmp243_);
6410 #line 675 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6411 _tmp245_ = _g_object_ref0 (_tmp244_);
6412 #line 675 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6413 variable = _tmp245_;
6414 #line 677 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6415 _tmp246_ = sql;
6416 #line 677 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6417 _tmp247_ = variable;
6418 #line 677 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6419 _tmp248_ = tracker_sparql_variable_get_sql_expression (_tmp247_);
6420 #line 677 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6421 _tmp249_ = _tmp248_;
6422 #line 677 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6423 g_string_append (_tmp246_, _tmp249_);
6424 #line 678 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6425 _tmp250_ = g_strdup ("tracker_offsets(offsets(\"fts\"),fts_property_names())");
6426 #line 678 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6427 _g_free0 (self->priv->fts_sql);
6428 #line 678 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6429 self->priv->fts_sql = _tmp250_;
6430 #line 679 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6431 result = TRACKER_PROPERTY_TYPE_STRING;
6432 #line 679 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6433 _g_object_unref0 (variable);
6434 #line 679 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6435 _g_free0 (v);
6436 #line 679 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6437 return result;
6438 #line 6439 "tracker-sparql-expression.c"
6439 } else {
6440 const gchar* _tmp251_;
6441 #line 680 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6442 _tmp251_ = uri;
6443 #line 680 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6444 if (g_strcmp0 (_tmp251_, TRACKER_SPARQL_EXPRESSION_FTS_NS "snippet") == 0) {
6445 #line 6446 "tracker-sparql-expression.c"
6446 gboolean is_var = FALSE;
6447 TrackerSparqlPattern* _tmp252_;
6448 TrackerSparqlPattern* _tmp253_;
6449 gboolean _tmp254_ = FALSE;
6450 gchar* _tmp255_ = NULL;
6451 gchar* v;
6452 TrackerSparqlContext* _tmp256_;
6453 TrackerSparqlContext* _tmp257_;
6454 const gchar* _tmp258_;
6455 TrackerSparqlVariable* _tmp259_ = NULL;
6456 TrackerSparqlVariable* _tmp260_;
6457 TrackerSparqlVariable* variable;
6458 GString* _tmp261_;
6459 GString* fts;
6460 GString* _tmp262_;
6461 gboolean _tmp263_ = FALSE;
6462 gboolean _tmp264_;
6463 gboolean _tmp270_ = FALSE;
6464 gboolean _tmp271_;
6465 GString* _tmp275_;
6466 gboolean _tmp276_ = FALSE;
6467 gboolean _tmp277_;
6468 GString* _tmp281_;
6469 GString* _tmp282_;
6470 const gchar* _tmp283_;
6471 gchar* _tmp284_;
6472 GString* _tmp285_;
6473 TrackerSparqlVariable* _tmp286_;
6474 const gchar* _tmp287_;
6475 const gchar* _tmp288_;
6476 #line 683 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6477 _tmp252_ = tracker_sparql_expression_get_pattern (self);
6478 #line 683 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6479 _tmp253_ = _tmp252_;
6480 #line 683 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6481 _tmp255_ = tracker_sparql_pattern_parse_var_or_term (_tmp253_, NULL, &_tmp254_, &_inner_error_);
6482 #line 683 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6483 is_var = _tmp254_;
(emitted by clang-analyzer)TODO: a detailed trace is available in the data model (not yet rendered in this report)
6484 #line 683 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6485 v = _tmp255_;
6486 #line 683 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6487 if (_inner_error_ != NULL) {
6488 #line 683 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6489 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6490 #line 683 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6491 g_propagate_error (error, _inner_error_);
6492 #line 683 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6493 return 0;
6494 #line 6495 "tracker-sparql-expression.c"
6495 } else {
6496 #line 683 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6497 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6498 #line 683 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6499 g_clear_error (&_inner_error_);
6500 #line 683 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6501 return 0;
6502 #line 6503 "tracker-sparql-expression.c"
6503 }
6504 }
6505 #line 684 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6506 _tmp256_ = tracker_sparql_expression_get_context (self);
6507 #line 684 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6508 _tmp257_ = _tmp256_;
6509 #line 684 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6510 _tmp258_ = v;
6511 #line 684 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6512 _tmp259_ = tracker_sparql_context_get_variable (_tmp257_, _tmp258_);
6513 #line 684 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6514 _tmp260_ = _g_object_ref0 (_tmp259_);
6515 #line 684 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6516 variable = _tmp260_;
6517 #line 685 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6518 _tmp261_ = g_string_new ("");
6519 #line 685 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6520 fts = _tmp261_;
6521 #line 687 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6522 _tmp262_ = fts;
6523 #line 687 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6524 g_string_append_printf (_tmp262_, "snippet(\"fts\"");
6525 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6526 _tmp263_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
6527 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6528 _tmp264_ = _tmp263_;
6529 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6530 if (_inner_error_ != NULL) {
6531 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6532 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6533 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6534 g_propagate_error (error, _inner_error_);
6535 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6536 _g_string_free0 (fts);
6537 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6538 _g_object_unref0 (variable);
6539 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6540 _g_free0 (v);
6541 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6542 return 0;
6543 #line 6544 "tracker-sparql-expression.c"
6544 } else {
6545 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6546 _g_string_free0 (fts);
6547 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6548 _g_object_unref0 (variable);
6549 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6550 _g_free0 (v);
6551 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6552 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6553 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6554 g_clear_error (&_inner_error_);
6555 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6556 return 0;
6557 #line 6558 "tracker-sparql-expression.c"
6558 }
6559 }
6560 #line 690 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6561 if (_tmp264_) {
6562 #line 6563 "tracker-sparql-expression.c"
6563 GString* _tmp265_;
6564 GString* _tmp266_;
6565 GString* _tmp267_;
6566 GString* _tmp268_;
6567 #line 691 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6568 _tmp265_ = fts;
6569 #line 691 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6570 g_string_append (_tmp265_, ", ");
6571 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6572 _tmp266_ = fts;
6573 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6574 tracker_sparql_expression_translate_expression_as_string (self, _tmp266_, &_inner_error_);
6575 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6576 if (_inner_error_ != NULL) {
6577 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6578 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6579 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6580 g_propagate_error (error, _inner_error_);
6581 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6582 _g_string_free0 (fts);
6583 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6584 _g_object_unref0 (variable);
6585 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6586 _g_free0 (v);
6587 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6588 return 0;
6589 #line 6590 "tracker-sparql-expression.c"
6590 } else {
6591 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6592 _g_string_free0 (fts);
6593 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6594 _g_object_unref0 (variable);
6595 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6596 _g_free0 (v);
6597 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6598 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6599 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6600 g_clear_error (&_inner_error_);
6601 #line 692 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6602 return 0;
6603 #line 6604 "tracker-sparql-expression.c"
6604 }
6605 }
6606 #line 695 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6607 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
6608 #line 695 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6609 if (_inner_error_ != NULL) {
6610 #line 695 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6611 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6612 #line 695 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6613 g_propagate_error (error, _inner_error_);
6614 #line 695 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6615 _g_string_free0 (fts);
6616 #line 695 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6617 _g_object_unref0 (variable);
6618 #line 695 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6619 _g_free0 (v);
6620 #line 695 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6621 return 0;
6622 #line 6623 "tracker-sparql-expression.c"
6623 } else {
6624 #line 695 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6625 _g_string_free0 (fts);
6626 #line 695 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6627 _g_object_unref0 (variable);
6628 #line 695 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6629 _g_free0 (v);
6630 #line 695 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6631 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6632 #line 695 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6633 g_clear_error (&_inner_error_);
6634 #line 695 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6635 return 0;
6636 #line 6637 "tracker-sparql-expression.c"
6637 }
6638 }
6639 #line 696 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6640 _tmp267_ = fts;
6641 #line 696 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6642 g_string_append (_tmp267_, ", ");
6643 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6644 _tmp268_ = fts;
6645 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6646 tracker_sparql_expression_translate_expression_as_string (self, _tmp268_, &_inner_error_);
6647 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6648 if (_inner_error_ != NULL) {
6649 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6650 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6651 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6652 g_propagate_error (error, _inner_error_);
6653 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6654 _g_string_free0 (fts);
6655 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6656 _g_object_unref0 (variable);
6657 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6658 _g_free0 (v);
6659 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6660 return 0;
6661 #line 6662 "tracker-sparql-expression.c"
6662 } else {
6663 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6664 _g_string_free0 (fts);
6665 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6666 _g_object_unref0 (variable);
6667 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6668 _g_free0 (v);
6669 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6670 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6671 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6672 g_clear_error (&_inner_error_);
6673 #line 697 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6674 return 0;
6675 #line 6676 "tracker-sparql-expression.c"
6676 }
6677 }
6678 } else {
6679 GString* _tmp269_;
6680 #line 699 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6681 _tmp269_ = fts;
6682 #line 699 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6683 g_string_append (_tmp269_, ",'',''");
6684 #line 6685 "tracker-sparql-expression.c"
6685 }
6686 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6687 _tmp270_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
6688 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6689 _tmp271_ = _tmp270_;
6690 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6691 if (_inner_error_ != NULL) {
6692 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6693 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6694 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6695 g_propagate_error (error, _inner_error_);
6696 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6697 _g_string_free0 (fts);
6698 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6699 _g_object_unref0 (variable);
6700 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6701 _g_free0 (v);
6702 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6703 return 0;
6704 #line 6705 "tracker-sparql-expression.c"
6705 } else {
6706 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6707 _g_string_free0 (fts);
6708 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6709 _g_object_unref0 (variable);
6710 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6711 _g_free0 (v);
6712 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6713 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6714 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6715 g_clear_error (&_inner_error_);
6716 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6717 return 0;
6718 #line 6719 "tracker-sparql-expression.c"
6719 }
6720 }
6721 #line 703 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6722 if (_tmp271_) {
6723 #line 6724 "tracker-sparql-expression.c"
6724 GString* _tmp272_;
6725 GString* _tmp273_;
6726 #line 704 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6727 _tmp272_ = fts;
6728 #line 704 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6729 g_string_append (_tmp272_, ", ");
6730 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6731 _tmp273_ = fts;
6732 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6733 tracker_sparql_expression_translate_expression_as_string (self, _tmp273_, &_inner_error_);
6734 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6735 if (_inner_error_ != NULL) {
6736 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6737 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6738 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6739 g_propagate_error (error, _inner_error_);
6740 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6741 _g_string_free0 (fts);
6742 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6743 _g_object_unref0 (variable);
6744 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6745 _g_free0 (v);
6746 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6747 return 0;
6748 #line 6749 "tracker-sparql-expression.c"
6749 } else {
6750 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6751 _g_string_free0 (fts);
6752 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6753 _g_object_unref0 (variable);
6754 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6755 _g_free0 (v);
6756 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6757 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6758 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6759 g_clear_error (&_inner_error_);
6760 #line 705 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6761 return 0;
6762 #line 6763 "tracker-sparql-expression.c"
6763 }
6764 }
6765 } else {
6766 GString* _tmp274_;
6767 #line 707 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6768 _tmp274_ = fts;
6769 #line 707 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6770 g_string_append (_tmp274_, ", '...'");
6771 #line 6772 "tracker-sparql-expression.c"
6772 }
6773 #line 711 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6774 _tmp275_ = fts;
6775 #line 711 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6776 g_string_append (_tmp275_, ", -1");
6777 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6778 _tmp276_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
6779 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6780 _tmp277_ = _tmp276_;
6781 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6782 if (_inner_error_ != NULL) {
6783 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6784 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6785 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6786 g_propagate_error (error, _inner_error_);
6787 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6788 _g_string_free0 (fts);
6789 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6790 _g_object_unref0 (variable);
6791 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6792 _g_free0 (v);
6793 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6794 return 0;
6795 #line 6796 "tracker-sparql-expression.c"
6796 } else {
6797 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6798 _g_string_free0 (fts);
6799 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6800 _g_object_unref0 (variable);
6801 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6802 _g_free0 (v);
6803 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6804 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6805 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6806 g_clear_error (&_inner_error_);
6807 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6808 return 0;
6809 #line 6810 "tracker-sparql-expression.c"
6810 }
6811 }
6812 #line 714 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6813 if (_tmp277_) {
6814 #line 6815 "tracker-sparql-expression.c"
6815 GString* _tmp278_;
6816 GString* _tmp279_;
6817 #line 715 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6818 _tmp278_ = fts;
6819 #line 715 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6820 g_string_append (_tmp278_, ", ");
6821 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6822 _tmp279_ = fts;
6823 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6824 tracker_sparql_expression_translate_expression_as_string (self, _tmp279_, &_inner_error_);
6825 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6826 if (_inner_error_ != NULL) {
6827 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6828 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6829 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6830 g_propagate_error (error, _inner_error_);
6831 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6832 _g_string_free0 (fts);
6833 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6834 _g_object_unref0 (variable);
6835 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6836 _g_free0 (v);
6837 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6838 return 0;
6839 #line 6840 "tracker-sparql-expression.c"
6840 } else {
6841 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6842 _g_string_free0 (fts);
6843 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6844 _g_object_unref0 (variable);
6845 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6846 _g_free0 (v);
6847 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6848 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6849 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6850 g_clear_error (&_inner_error_);
6851 #line 716 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6852 return 0;
6853 #line 6854 "tracker-sparql-expression.c"
6854 }
6855 }
6856 } else {
6857 GString* _tmp280_;
6858 #line 718 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6859 _tmp280_ = fts;
6860 #line 718 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6861 g_string_append (_tmp280_, ", 5");
6862 #line 6863 "tracker-sparql-expression.c"
6863 }
6864 #line 721 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6865 _tmp281_ = fts;
6866 #line 721 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6867 g_string_append (_tmp281_, ")");
6868 #line 723 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6869 _tmp282_ = fts;
6870 #line 723 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6871 _tmp283_ = _tmp282_->str;
6872 #line 723 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6873 _tmp284_ = g_strdup (_tmp283_);
6874 #line 723 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6875 _g_free0 (self->priv->fts_sql);
6876 #line 723 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6877 self->priv->fts_sql = _tmp284_;
6878 #line 724 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6879 _tmp285_ = sql;
6880 #line 724 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6881 _tmp286_ = variable;
6882 #line 724 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6883 _tmp287_ = tracker_sparql_variable_get_sql_expression (_tmp286_);
6884 #line 724 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6885 _tmp288_ = _tmp287_;
6886 #line 724 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6887 g_string_append (_tmp285_, _tmp288_);
6888 #line 725 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6889 result = TRACKER_PROPERTY_TYPE_STRING;
6890 #line 725 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6891 _g_string_free0 (fts);
6892 #line 725 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6893 _g_object_unref0 (variable);
6894 #line 725 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6895 _g_free0 (v);
6896 #line 725 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6897 return result;
6898 #line 6899 "tracker-sparql-expression.c"
6899 } else {
6900 const gchar* _tmp289_;
6901 #line 726 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6902 _tmp289_ = uri;
6903 #line 726 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6904 if (g_strcmp0 (_tmp289_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "id") == 0) {
6905 #line 6906 "tracker-sparql-expression.c"
6906 GString* _tmp290_;
6907 TrackerPropertyType _tmp291_ = 0;
6908 TrackerPropertyType type;
6909 TrackerPropertyType _tmp292_;
6910 #line 727 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6911 _tmp290_ = sql;
6912 #line 727 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6913 _tmp291_ = tracker_sparql_expression_translate_expression (self, _tmp290_, &_inner_error_);
6914 #line 727 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6915 type = _tmp291_;
6916 #line 727 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6917 if (_inner_error_ != NULL) {
6918 #line 727 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6919 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6920 #line 727 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6921 g_propagate_error (error, _inner_error_);
6922 #line 727 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6923 return 0;
6924 #line 6925 "tracker-sparql-expression.c"
6925 } else {
6926 #line 727 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6927 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6928 #line 727 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6929 g_clear_error (&_inner_error_);
6930 #line 727 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6931 return 0;
6932 #line 6933 "tracker-sparql-expression.c"
6933 }
6934 }
6935 #line 728 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6936 _tmp292_ = type;
6937 #line 728 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6938 if (_tmp292_ != TRACKER_PROPERTY_TYPE_RESOURCE) {
6939 #line 6940 "tracker-sparql-expression.c"
6940 GError* _tmp293_ = NULL;
6941 #line 729 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6942 _tmp293_ = tracker_sparql_expression_get_error (self, "expected resource");
6943 #line 729 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6944 _inner_error_ = _tmp293_;
6945 #line 729 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6946 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6947 #line 729 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6948 g_propagate_error (error, _inner_error_);
6949 #line 729 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6950 return 0;
6951 #line 6952 "tracker-sparql-expression.c"
6952 } else {
6953 #line 729 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6954 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6955 #line 729 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6956 g_clear_error (&_inner_error_);
6957 #line 729 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6958 return 0;
6959 #line 6960 "tracker-sparql-expression.c"
6960 }
6961 }
6962 #line 732 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6963 result = TRACKER_PROPERTY_TYPE_INTEGER;
6964 #line 732 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6965 return result;
6966 #line 6967 "tracker-sparql-expression.c"
6967 } else {
6968 const gchar* _tmp294_;
6969 #line 733 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6970 _tmp294_ = uri;
6971 #line 733 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6972 if (g_strcmp0 (_tmp294_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "uri") == 0) {
6973 #line 6974 "tracker-sparql-expression.c"
6974 GString* _tmp295_;
6975 TrackerPropertyType _tmp296_ = 0;
6976 TrackerPropertyType type;
6977 TrackerPropertyType _tmp297_;
6978 #line 734 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6979 _tmp295_ = sql;
6980 #line 734 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6981 _tmp296_ = tracker_sparql_expression_translate_expression (self, _tmp295_, &_inner_error_);
6982 #line 734 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6983 type = _tmp296_;
6984 #line 734 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6985 if (_inner_error_ != NULL) {
6986 #line 734 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6987 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
6988 #line 734 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6989 g_propagate_error (error, _inner_error_);
6990 #line 734 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6991 return 0;
6992 #line 6993 "tracker-sparql-expression.c"
6993 } else {
6994 #line 734 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6995 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
6996 #line 734 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6997 g_clear_error (&_inner_error_);
6998 #line 734 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
6999 return 0;
7000 #line 7001 "tracker-sparql-expression.c"
7001 }
7002 }
7003 #line 735 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7004 _tmp297_ = type;
7005 #line 735 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7006 if (_tmp297_ != TRACKER_PROPERTY_TYPE_INTEGER) {
7007 #line 7008 "tracker-sparql-expression.c"
7008 GError* _tmp298_ = NULL;
7009 #line 736 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7010 _tmp298_ = tracker_sparql_expression_get_error (self, "expected integer ID");
7011 #line 736 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7012 _inner_error_ = _tmp298_;
7013 #line 736 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7014 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7015 #line 736 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7016 g_propagate_error (error, _inner_error_);
7017 #line 736 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7018 return 0;
7019 #line 7020 "tracker-sparql-expression.c"
7020 } else {
7021 #line 736 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7022 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7023 #line 736 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7024 g_clear_error (&_inner_error_);
7025 #line 736 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7026 return 0;
7027 #line 7028 "tracker-sparql-expression.c"
7028 }
7029 }
7030 #line 739 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7031 result = TRACKER_PROPERTY_TYPE_RESOURCE;
7032 #line 739 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7033 return result;
7034 #line 7035 "tracker-sparql-expression.c"
7035 } else {
7036 const gchar* _tmp299_;
7037 #line 740 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7038 _tmp299_ = uri;
7039 #line 740 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7040 if (g_strcmp0 (_tmp299_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "cartesian-distance") == 0) {
7041 #line 7042 "tracker-sparql-expression.c"
7042 GString* _tmp300_;
7043 GString* _tmp301_;
7044 GString* _tmp302_;
7045 GString* _tmp303_;
7046 GString* _tmp304_;
7047 GString* _tmp305_;
7048 GString* _tmp306_;
7049 GString* _tmp307_;
7050 GString* _tmp308_;
7051 #line 741 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7052 _tmp300_ = sql;
7053 #line 741 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7054 g_string_append (_tmp300_, "SparqlCartesianDistance(");
7055 #line 742 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7056 _tmp301_ = sql;
7057 #line 742 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7058 tracker_sparql_expression_translate_expression (self, _tmp301_, &_inner_error_);
7059 #line 742 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7060 if (_inner_error_ != NULL) {
7061 #line 742 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7062 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7063 #line 742 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7064 g_propagate_error (error, _inner_error_);
7065 #line 742 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7066 return 0;
7067 #line 7068 "tracker-sparql-expression.c"
7068 } else {
7069 #line 742 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7070 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7071 #line 742 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7072 g_clear_error (&_inner_error_);
7073 #line 742 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7074 return 0;
7075 #line 7076 "tracker-sparql-expression.c"
7076 }
7077 }
7078 #line 743 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7079 _tmp302_ = sql;
7080 #line 743 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7081 g_string_append (_tmp302_, ", ");
7082 #line 744 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7083 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
7084 #line 744 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7085 if (_inner_error_ != NULL) {
7086 #line 744 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7087 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7088 #line 744 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7089 g_propagate_error (error, _inner_error_);
7090 #line 744 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7091 return 0;
7092 #line 7093 "tracker-sparql-expression.c"
7093 } else {
7094 #line 744 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7095 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7096 #line 744 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7097 g_clear_error (&_inner_error_);
7098 #line 744 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7099 return 0;
7100 #line 7101 "tracker-sparql-expression.c"
7101 }
7102 }
7103 #line 745 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7104 _tmp303_ = sql;
7105 #line 745 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7106 tracker_sparql_expression_translate_expression (self, _tmp303_, &_inner_error_);
7107 #line 745 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7108 if (_inner_error_ != NULL) {
7109 #line 745 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7110 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7111 #line 745 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7112 g_propagate_error (error, _inner_error_);
7113 #line 745 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7114 return 0;
7115 #line 7116 "tracker-sparql-expression.c"
7116 } else {
7117 #line 745 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7118 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7119 #line 745 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7120 g_clear_error (&_inner_error_);
7121 #line 745 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7122 return 0;
7123 #line 7124 "tracker-sparql-expression.c"
7124 }
7125 }
7126 #line 746 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7127 _tmp304_ = sql;
7128 #line 746 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7129 g_string_append (_tmp304_, ", ");
7130 #line 747 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7131 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
7132 #line 747 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7133 if (_inner_error_ != NULL) {
7134 #line 747 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7135 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7136 #line 747 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7137 g_propagate_error (error, _inner_error_);
7138 #line 747 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7139 return 0;
7140 #line 7141 "tracker-sparql-expression.c"
7141 } else {
7142 #line 747 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7143 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7144 #line 747 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7145 g_clear_error (&_inner_error_);
7146 #line 747 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7147 return 0;
7148 #line 7149 "tracker-sparql-expression.c"
7149 }
7150 }
7151 #line 748 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7152 _tmp305_ = sql;
7153 #line 748 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7154 tracker_sparql_expression_translate_expression (self, _tmp305_, &_inner_error_);
7155 #line 748 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7156 if (_inner_error_ != NULL) {
7157 #line 748 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7158 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7159 #line 748 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7160 g_propagate_error (error, _inner_error_);
7161 #line 748 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7162 return 0;
7163 #line 7164 "tracker-sparql-expression.c"
7164 } else {
7165 #line 748 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7166 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7167 #line 748 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7168 g_clear_error (&_inner_error_);
7169 #line 748 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7170 return 0;
7171 #line 7172 "tracker-sparql-expression.c"
7172 }
7173 }
7174 #line 749 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7175 _tmp306_ = sql;
7176 #line 749 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7177 g_string_append (_tmp306_, ", ");
7178 #line 750 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7179 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
7180 #line 750 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7181 if (_inner_error_ != NULL) {
7182 #line 750 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7183 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7184 #line 750 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7185 g_propagate_error (error, _inner_error_);
7186 #line 750 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7187 return 0;
7188 #line 7189 "tracker-sparql-expression.c"
7189 } else {
7190 #line 750 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7191 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7192 #line 750 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7193 g_clear_error (&_inner_error_);
7194 #line 750 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7195 return 0;
7196 #line 7197 "tracker-sparql-expression.c"
7197 }
7198 }
7199 #line 751 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7200 _tmp307_ = sql;
7201 #line 751 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7202 tracker_sparql_expression_translate_expression (self, _tmp307_, &_inner_error_);
7203 #line 751 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7204 if (_inner_error_ != NULL) {
7205 #line 751 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7206 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7207 #line 751 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7208 g_propagate_error (error, _inner_error_);
7209 #line 751 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7210 return 0;
7211 #line 7212 "tracker-sparql-expression.c"
7212 } else {
7213 #line 751 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7214 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7215 #line 751 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7216 g_clear_error (&_inner_error_);
7217 #line 751 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7218 return 0;
7219 #line 7220 "tracker-sparql-expression.c"
7220 }
7221 }
7222 #line 752 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7223 _tmp308_ = sql;
7224 #line 752 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7225 g_string_append (_tmp308_, ")");
7226 #line 754 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7227 result = TRACKER_PROPERTY_TYPE_DOUBLE;
7228 #line 754 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7229 return result;
7230 #line 7231 "tracker-sparql-expression.c"
7231 } else {
7232 const gchar* _tmp309_;
7233 #line 755 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7234 _tmp309_ = uri;
7235 #line 755 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7236 if (g_strcmp0 (_tmp309_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "haversine-distance") == 0) {
7237 #line 7238 "tracker-sparql-expression.c"
7238 GString* _tmp310_;
7239 GString* _tmp311_;
7240 GString* _tmp312_;
7241 GString* _tmp313_;
7242 GString* _tmp314_;
7243 GString* _tmp315_;
7244 GString* _tmp316_;
7245 GString* _tmp317_;
7246 GString* _tmp318_;
7247 #line 756 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7248 _tmp310_ = sql;
7249 #line 756 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7250 g_string_append (_tmp310_, "SparqlHaversineDistance(");
7251 #line 757 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7252 _tmp311_ = sql;
7253 #line 757 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7254 tracker_sparql_expression_translate_expression (self, _tmp311_, &_inner_error_);
7255 #line 757 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7256 if (_inner_error_ != NULL) {
7257 #line 757 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7258 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7259 #line 757 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7260 g_propagate_error (error, _inner_error_);
7261 #line 757 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7262 return 0;
7263 #line 7264 "tracker-sparql-expression.c"
7264 } else {
7265 #line 757 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7266 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7267 #line 757 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7268 g_clear_error (&_inner_error_);
7269 #line 757 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7270 return 0;
7271 #line 7272 "tracker-sparql-expression.c"
7272 }
7273 }
7274 #line 758 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7275 _tmp312_ = sql;
7276 #line 758 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7277 g_string_append (_tmp312_, ", ");
7278 #line 759 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7279 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
7280 #line 759 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7281 if (_inner_error_ != NULL) {
7282 #line 759 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7283 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7284 #line 759 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7285 g_propagate_error (error, _inner_error_);
7286 #line 759 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7287 return 0;
7288 #line 7289 "tracker-sparql-expression.c"
7289 } else {
7290 #line 759 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7291 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7292 #line 759 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7293 g_clear_error (&_inner_error_);
7294 #line 759 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7295 return 0;
7296 #line 7297 "tracker-sparql-expression.c"
7297 }
7298 }
7299 #line 760 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7300 _tmp313_ = sql;
7301 #line 760 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7302 tracker_sparql_expression_translate_expression (self, _tmp313_, &_inner_error_);
7303 #line 760 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7304 if (_inner_error_ != NULL) {
7305 #line 760 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7306 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7307 #line 760 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7308 g_propagate_error (error, _inner_error_);
7309 #line 760 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7310 return 0;
7311 #line 7312 "tracker-sparql-expression.c"
7312 } else {
7313 #line 760 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7314 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7315 #line 760 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7316 g_clear_error (&_inner_error_);
7317 #line 760 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7318 return 0;
7319 #line 7320 "tracker-sparql-expression.c"
7320 }
7321 }
7322 #line 761 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7323 _tmp314_ = sql;
7324 #line 761 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7325 g_string_append (_tmp314_, ", ");
7326 #line 762 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7327 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
7328 #line 762 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7329 if (_inner_error_ != NULL) {
7330 #line 762 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7331 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7332 #line 762 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7333 g_propagate_error (error, _inner_error_);
7334 #line 762 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7335 return 0;
7336 #line 7337 "tracker-sparql-expression.c"
7337 } else {
7338 #line 762 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7339 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7340 #line 762 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7341 g_clear_error (&_inner_error_);
7342 #line 762 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7343 return 0;
7344 #line 7345 "tracker-sparql-expression.c"
7345 }
7346 }
7347 #line 763 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7348 _tmp315_ = sql;
7349 #line 763 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7350 tracker_sparql_expression_translate_expression (self, _tmp315_, &_inner_error_);
7351 #line 763 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7352 if (_inner_error_ != NULL) {
7353 #line 763 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7354 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7355 #line 763 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7356 g_propagate_error (error, _inner_error_);
7357 #line 763 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7358 return 0;
7359 #line 7360 "tracker-sparql-expression.c"
7360 } else {
7361 #line 763 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7362 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7363 #line 763 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7364 g_clear_error (&_inner_error_);
7365 #line 763 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7366 return 0;
7367 #line 7368 "tracker-sparql-expression.c"
7368 }
7369 }
7370 #line 764 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7371 _tmp316_ = sql;
7372 #line 764 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7373 g_string_append (_tmp316_, ", ");
7374 #line 765 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7375 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
7376 #line 765 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7377 if (_inner_error_ != NULL) {
7378 #line 765 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7379 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7380 #line 765 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7381 g_propagate_error (error, _inner_error_);
7382 #line 765 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7383 return 0;
7384 #line 7385 "tracker-sparql-expression.c"
7385 } else {
7386 #line 765 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7387 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7388 #line 765 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7389 g_clear_error (&_inner_error_);
7390 #line 765 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7391 return 0;
7392 #line 7393 "tracker-sparql-expression.c"
7393 }
7394 }
7395 #line 766 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7396 _tmp317_ = sql;
7397 #line 766 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7398 tracker_sparql_expression_translate_expression (self, _tmp317_, &_inner_error_);
7399 #line 766 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7400 if (_inner_error_ != NULL) {
7401 #line 766 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7402 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7403 #line 766 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7404 g_propagate_error (error, _inner_error_);
7405 #line 766 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7406 return 0;
7407 #line 7408 "tracker-sparql-expression.c"
7408 } else {
7409 #line 766 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7410 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7411 #line 766 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7412 g_clear_error (&_inner_error_);
7413 #line 766 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7414 return 0;
7415 #line 7416 "tracker-sparql-expression.c"
7416 }
7417 }
7418 #line 767 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7419 _tmp318_ = sql;
7420 #line 767 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7421 g_string_append (_tmp318_, ")");
7422 #line 769 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7423 result = TRACKER_PROPERTY_TYPE_DOUBLE;
7424 #line 769 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7425 return result;
7426 #line 7427 "tracker-sparql-expression.c"
7427 } else {
7428 const gchar* _tmp319_;
7429 #line 770 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7430 _tmp319_ = uri;
7431 #line 770 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7432 if (g_strcmp0 (_tmp319_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "coalesce") == 0) {
7433 #line 7434 "tracker-sparql-expression.c"
7434 GString* _tmp320_;
7435 GString* _tmp321_;
7436 GString* _tmp322_;
7437 GString* _tmp323_;
7438 GString* _tmp328_;
7439 #line 771 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7440 _tmp320_ = sql;
7441 #line 771 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7442 g_string_append (_tmp320_, "COALESCE(");
7443 #line 772 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7444 _tmp321_ = sql;
7445 #line 772 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7446 tracker_sparql_expression_translate_expression_as_string (self, _tmp321_, &_inner_error_);
7447 #line 772 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7448 if (_inner_error_ != NULL) {
7449 #line 772 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7450 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7451 #line 772 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7452 g_propagate_error (error, _inner_error_);
7453 #line 772 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7454 return 0;
7455 #line 7456 "tracker-sparql-expression.c"
7456 } else {
7457 #line 772 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7458 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7459 #line 772 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7460 g_clear_error (&_inner_error_);
7461 #line 772 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7462 return 0;
7463 #line 7464 "tracker-sparql-expression.c"
7464 }
7465 }
7466 #line 773 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7467 _tmp322_ = sql;
7468 #line 773 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7469 g_string_append (_tmp322_, ", ");
7470 #line 774 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7471 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
7472 #line 774 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7473 if (_inner_error_ != NULL) {
7474 #line 774 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7475 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7476 #line 774 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7477 g_propagate_error (error, _inner_error_);
7478 #line 774 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7479 return 0;
7480 #line 7481 "tracker-sparql-expression.c"
7481 } else {
7482 #line 774 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7483 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7484 #line 774 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7485 g_clear_error (&_inner_error_);
7486 #line 774 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7487 return 0;
7488 #line 7489 "tracker-sparql-expression.c"
7489 }
7490 }
7491 #line 775 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7492 _tmp323_ = sql;
7493 #line 775 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7494 tracker_sparql_expression_translate_expression_as_string (self, _tmp323_, &_inner_error_);
7495 #line 775 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7496 if (_inner_error_ != NULL) {
7497 #line 775 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7498 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7499 #line 775 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7500 g_propagate_error (error, _inner_error_);
7501 #line 775 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7502 return 0;
7503 #line 7504 "tracker-sparql-expression.c"
7504 } else {
7505 #line 775 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7506 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7507 #line 775 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7508 g_clear_error (&_inner_error_);
7509 #line 775 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7510 return 0;
7511 #line 7512 "tracker-sparql-expression.c"
7512 }
7513 }
7514 #line 776 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7515 while (TRUE) {
7516 #line 7517 "tracker-sparql-expression.c"
7517 gboolean _tmp324_ = FALSE;
7518 gboolean _tmp325_;
7519 GString* _tmp326_;
7520 GString* _tmp327_;
7521 #line 776 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7522 _tmp324_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
7523 #line 776 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7524 _tmp325_ = _tmp324_;
7525 #line 776 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7526 if (_inner_error_ != NULL) {
7527 #line 776 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7528 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7529 #line 776 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7530 g_propagate_error (error, _inner_error_);
7531 #line 776 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7532 return 0;
7533 #line 7534 "tracker-sparql-expression.c"
7534 } else {
7535 #line 776 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7536 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7537 #line 776 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7538 g_clear_error (&_inner_error_);
7539 #line 776 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7540 return 0;
7541 #line 7542 "tracker-sparql-expression.c"
7542 }
7543 }
7544 #line 776 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7545 if (!_tmp325_) {
7546 #line 776 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7547 break;
7548 #line 7549 "tracker-sparql-expression.c"
7549 }
7550 #line 777 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7551 _tmp326_ = sql;
7552 #line 777 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7553 g_string_append (_tmp326_, ", ");
7554 #line 778 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7555 _tmp327_ = sql;
7556 #line 778 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7557 tracker_sparql_expression_translate_expression_as_string (self, _tmp327_, &_inner_error_);
7558 #line 778 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7559 if (_inner_error_ != NULL) {
7560 #line 778 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7561 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7562 #line 778 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7563 g_propagate_error (error, _inner_error_);
7564 #line 778 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7565 return 0;
7566 #line 7567 "tracker-sparql-expression.c"
7567 } else {
7568 #line 778 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7569 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7570 #line 778 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7571 g_clear_error (&_inner_error_);
7572 #line 778 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7573 return 0;
7574 #line 7575 "tracker-sparql-expression.c"
7575 }
7576 }
7577 }
7578 #line 780 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7579 _tmp328_ = sql;
7580 #line 780 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7581 g_string_append (_tmp328_, ")");
7582 #line 782 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7583 result = TRACKER_PROPERTY_TYPE_STRING;
7584 #line 782 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7585 return result;
7586 #line 7587 "tracker-sparql-expression.c"
7587 } else {
7588 const gchar* _tmp329_;
7589 #line 783 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7590 _tmp329_ = uri;
7591 #line 783 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7592 if (g_strcmp0 (_tmp329_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "uri-is-parent") == 0) {
7593 #line 7594 "tracker-sparql-expression.c"
7594 GString* _tmp330_;
7595 GString* _tmp331_;
7596 GString* _tmp332_;
7597 GString* _tmp333_;
7598 GString* _tmp334_;
7599 #line 784 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7600 _tmp330_ = sql;
7601 #line 784 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7602 g_string_append (_tmp330_, "SparqlUriIsParent(");
7603 #line 785 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7604 _tmp331_ = sql;
7605 #line 785 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7606 tracker_sparql_expression_translate_expression_as_string (self, _tmp331_, &_inner_error_);
7607 #line 785 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7608 if (_inner_error_ != NULL) {
7609 #line 785 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7610 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7611 #line 785 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7612 g_propagate_error (error, _inner_error_);
7613 #line 785 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7614 return 0;
7615 #line 7616 "tracker-sparql-expression.c"
7616 } else {
7617 #line 785 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7618 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7619 #line 785 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7620 g_clear_error (&_inner_error_);
7621 #line 785 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7622 return 0;
7623 #line 7624 "tracker-sparql-expression.c"
7624 }
7625 }
7626 #line 786 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7627 _tmp332_ = sql;
7628 #line 786 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7629 g_string_append (_tmp332_, ", ");
7630 #line 787 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7631 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
7632 #line 787 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7633 if (_inner_error_ != NULL) {
7634 #line 787 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7635 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7636 #line 787 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7637 g_propagate_error (error, _inner_error_);
7638 #line 787 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7639 return 0;
7640 #line 7641 "tracker-sparql-expression.c"
7641 } else {
7642 #line 787 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7643 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7644 #line 787 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7645 g_clear_error (&_inner_error_);
7646 #line 787 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7647 return 0;
7648 #line 7649 "tracker-sparql-expression.c"
7649 }
7650 }
7651 #line 789 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7652 _tmp333_ = sql;
7653 #line 789 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7654 tracker_sparql_expression_translate_expression_as_string (self, _tmp333_, &_inner_error_);
7655 #line 789 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7656 if (_inner_error_ != NULL) {
7657 #line 789 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7658 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7659 #line 789 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7660 g_propagate_error (error, _inner_error_);
7661 #line 789 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7662 return 0;
7663 #line 7664 "tracker-sparql-expression.c"
7664 } else {
7665 #line 789 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7666 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7667 #line 789 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7668 g_clear_error (&_inner_error_);
7669 #line 789 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7670 return 0;
7671 #line 7672 "tracker-sparql-expression.c"
7672 }
7673 }
7674 #line 790 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7675 _tmp334_ = sql;
7676 #line 790 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7677 g_string_append (_tmp334_, ")");
7678 #line 792 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7679 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
7680 #line 792 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7681 return result;
7682 #line 7683 "tracker-sparql-expression.c"
7683 } else {
7684 const gchar* _tmp335_;
7685 #line 793 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7686 _tmp335_ = uri;
7687 #line 793 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7688 if (g_strcmp0 (_tmp335_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "uri-is-descendant") == 0) {
7689 #line 7690 "tracker-sparql-expression.c"
7690 GString* _tmp336_;
7691 GString* _tmp337_;
7692 GString* _tmp338_;
7693 GString* _tmp339_;
7694 GString* _tmp344_;
7695 #line 794 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7696 _tmp336_ = sql;
7697 #line 794 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7698 g_string_append (_tmp336_, "SparqlUriIsDescendant(");
7699 #line 795 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7700 _tmp337_ = sql;
7701 #line 795 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7702 tracker_sparql_expression_translate_expression_as_string (self, _tmp337_, &_inner_error_);
7703 #line 795 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7704 if (_inner_error_ != NULL) {
7705 #line 795 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7706 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7707 #line 795 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7708 g_propagate_error (error, _inner_error_);
7709 #line 795 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7710 return 0;
7711 #line 7712 "tracker-sparql-expression.c"
7712 } else {
7713 #line 795 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7714 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7715 #line 795 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7716 g_clear_error (&_inner_error_);
7717 #line 795 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7718 return 0;
7719 #line 7720 "tracker-sparql-expression.c"
7720 }
7721 }
7722 #line 796 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7723 _tmp338_ = sql;
7724 #line 796 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7725 g_string_append (_tmp338_, ", ");
7726 #line 797 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7727 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
7728 #line 797 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7729 if (_inner_error_ != NULL) {
7730 #line 797 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7731 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7732 #line 797 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7733 g_propagate_error (error, _inner_error_);
7734 #line 797 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7735 return 0;
7736 #line 7737 "tracker-sparql-expression.c"
7737 } else {
7738 #line 797 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7739 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7740 #line 797 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7741 g_clear_error (&_inner_error_);
7742 #line 797 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7743 return 0;
7744 #line 7745 "tracker-sparql-expression.c"
7745 }
7746 }
7747 #line 799 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7748 _tmp339_ = sql;
7749 #line 799 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7750 tracker_sparql_expression_translate_expression_as_string (self, _tmp339_, &_inner_error_);
7751 #line 799 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7752 if (_inner_error_ != NULL) {
7753 #line 799 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7754 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7755 #line 799 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7756 g_propagate_error (error, _inner_error_);
7757 #line 799 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7758 return 0;
7759 #line 7760 "tracker-sparql-expression.c"
7760 } else {
7761 #line 799 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7762 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7763 #line 799 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7764 g_clear_error (&_inner_error_);
7765 #line 799 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7766 return 0;
7767 #line 7768 "tracker-sparql-expression.c"
7768 }
7769 }
7770 #line 800 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7771 while (TRUE) {
7772 #line 7773 "tracker-sparql-expression.c"
7773 gboolean _tmp340_ = FALSE;
7774 gboolean _tmp341_;
7775 GString* _tmp342_;
7776 GString* _tmp343_;
7777 #line 800 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7778 _tmp340_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
7779 #line 800 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7780 _tmp341_ = _tmp340_;
7781 #line 800 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7782 if (_inner_error_ != NULL) {
7783 #line 800 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7784 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7785 #line 800 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7786 g_propagate_error (error, _inner_error_);
7787 #line 800 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7788 return 0;
7789 #line 7790 "tracker-sparql-expression.c"
7790 } else {
7791 #line 800 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7792 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7793 #line 800 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7794 g_clear_error (&_inner_error_);
7795 #line 800 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7796 return 0;
7797 #line 7798 "tracker-sparql-expression.c"
7798 }
7799 }
7800 #line 800 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7801 if (!_tmp341_) {
7802 #line 800 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7803 break;
7804 #line 7805 "tracker-sparql-expression.c"
7805 }
7806 #line 801 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7807 _tmp342_ = sql;
7808 #line 801 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7809 g_string_append (_tmp342_, ", ");
7810 #line 802 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7811 _tmp343_ = sql;
7812 #line 802 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7813 tracker_sparql_expression_translate_expression_as_string (self, _tmp343_, &_inner_error_);
7814 #line 802 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7815 if (_inner_error_ != NULL) {
7816 #line 802 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7817 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7818 #line 802 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7819 g_propagate_error (error, _inner_error_);
7820 #line 802 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7821 return 0;
7822 #line 7823 "tracker-sparql-expression.c"
7823 } else {
7824 #line 802 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7825 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7826 #line 802 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7827 g_clear_error (&_inner_error_);
7828 #line 802 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7829 return 0;
7830 #line 7831 "tracker-sparql-expression.c"
7831 }
7832 }
7833 }
7834 #line 804 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7835 _tmp344_ = sql;
7836 #line 804 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7837 g_string_append (_tmp344_, ")");
7838 #line 806 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7839 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
7840 #line 806 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7841 return result;
7842 #line 7843 "tracker-sparql-expression.c"
7843 } else {
7844 const gchar* _tmp345_;
7845 #line 807 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7846 _tmp345_ = uri;
7847 #line 807 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7848 if (g_strcmp0 (_tmp345_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "string-from-filename") == 0) {
7849 #line 7850 "tracker-sparql-expression.c"
7850 GString* _tmp346_;
7851 GString* _tmp347_;
7852 GString* _tmp348_;
7853 #line 808 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7854 _tmp346_ = sql;
7855 #line 808 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7856 g_string_append (_tmp346_, "SparqlStringFromFilename(");
7857 #line 809 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7858 _tmp347_ = sql;
7859 #line 809 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7860 tracker_sparql_expression_translate_expression_as_string (self, _tmp347_, &_inner_error_);
7861 #line 809 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7862 if (_inner_error_ != NULL) {
7863 #line 809 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7864 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7865 #line 809 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7866 g_propagate_error (error, _inner_error_);
7867 #line 809 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7868 return 0;
7869 #line 7870 "tracker-sparql-expression.c"
7870 } else {
7871 #line 809 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7872 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7873 #line 809 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7874 g_clear_error (&_inner_error_);
7875 #line 809 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7876 return 0;
7877 #line 7878 "tracker-sparql-expression.c"
7878 }
7879 }
7880 #line 810 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7881 _tmp348_ = sql;
7882 #line 810 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7883 g_string_append (_tmp348_, ")");
7884 #line 812 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7885 result = TRACKER_PROPERTY_TYPE_STRING;
7886 #line 812 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7887 return result;
7888 #line 7889 "tracker-sparql-expression.c"
7889 } else {
7890 const gchar* _tmp349_;
7891 TrackerProperty* _tmp350_ = NULL;
7892 TrackerProperty* _tmp351_;
7893 TrackerProperty* prop;
7894 TrackerProperty* _tmp352_;
7895 GString* _tmp354_;
7896 GString* expr;
7897 GString* _tmp355_;
7898 gchar* _tmp356_;
7899 gchar* value_separator;
7900 gchar* graph_separator;
7901 gboolean _tmp357_ = FALSE;
7902 gboolean _tmp358_;
7903 TrackerProperty* _tmp365_;
7904 gboolean _tmp366_;
7905 gboolean _tmp367_;
7906 #line 815 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7907 _tmp349_ = uri;
7908 #line 815 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7909 _tmp350_ = tracker_ontologies_get_property_by_uri (_tmp349_);
7910 #line 815 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7911 _tmp351_ = _g_object_ref0 (_tmp350_);
7912 #line 815 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7913 prop = _tmp351_;
7914 #line 816 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7915 _tmp352_ = prop;
7916 #line 816 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7917 if (_tmp352_ == NULL) {
7918 #line 7919 "tracker-sparql-expression.c"
7919 GError* _tmp353_ = NULL;
7920 #line 817 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7921 _tmp353_ = tracker_sparql_expression_get_error (self, "Unknown function");
7922 #line 817 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7923 _inner_error_ = _tmp353_;
7924 #line 817 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7925 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7926 #line 817 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7927 g_propagate_error (error, _inner_error_);
7928 #line 817 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7929 _g_object_unref0 (prop);
7930 #line 817 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7931 return 0;
7932 #line 7933 "tracker-sparql-expression.c"
7933 } else {
7934 #line 817 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7935 _g_object_unref0 (prop);
7936 #line 817 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7937 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7938 #line 817 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7939 g_clear_error (&_inner_error_);
7940 #line 817 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7941 return 0;
7942 #line 7943 "tracker-sparql-expression.c"
7943 }
7944 }
7945 #line 820 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7946 _tmp354_ = g_string_new ("");
7947 #line 820 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7948 expr = _tmp354_;
7949 #line 821 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7950 _tmp355_ = expr;
7951 #line 821 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7952 tracker_sparql_expression_translate_expression (self, _tmp355_, &_inner_error_);
7953 #line 821 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7954 if (_inner_error_ != NULL) {
7955 #line 821 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7956 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7957 #line 821 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7958 g_propagate_error (error, _inner_error_);
7959 #line 821 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7960 _g_string_free0 (expr);
7961 #line 821 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7962 _g_object_unref0 (prop);
7963 #line 821 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7964 return 0;
7965 #line 7966 "tracker-sparql-expression.c"
7966 } else {
7967 #line 821 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7968 _g_string_free0 (expr);
7969 #line 821 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7970 _g_object_unref0 (prop);
7971 #line 821 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7972 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
7973 #line 821 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7974 g_clear_error (&_inner_error_);
7975 #line 821 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7976 return 0;
7977 #line 7978 "tracker-sparql-expression.c"
7978 }
7979 }
7980 #line 823 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7981 _tmp356_ = g_strdup (",");
7982 #line 823 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7983 value_separator = _tmp356_;
7984 #line 824 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7985 graph_separator = NULL;
7986 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7987 _tmp357_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
7988 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7989 _tmp358_ = _tmp357_;
7990 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7991 if (_inner_error_ != NULL) {
7992 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7993 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
7994 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7995 g_propagate_error (error, _inner_error_);
7996 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7997 _g_free0 (graph_separator);
7998 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
7999 _g_free0 (value_separator);
8000 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8001 _g_string_free0 (expr);
8002 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8003 _g_object_unref0 (prop);
8004 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8005 return 0;
8006 #line 8007 "tracker-sparql-expression.c"
8007 } else {
8008 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8009 _g_free0 (graph_separator);
8010 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8011 _g_free0 (value_separator);
8012 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8013 _g_string_free0 (expr);
8014 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8015 _g_object_unref0 (prop);
8016 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8017 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8018 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8019 g_clear_error (&_inner_error_);
8020 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8021 return 0;
8022 #line 8023 "tracker-sparql-expression.c"
8023 }
8024 }
8025 #line 826 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8026 if (_tmp358_) {
8027 #line 8028 "tracker-sparql-expression.c"
8028 gchar* _tmp359_ = NULL;
8029 gchar* _tmp360_;
8030 gboolean _tmp361_ = FALSE;
8031 gboolean _tmp362_;
8032 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8033 _tmp359_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
8034 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8035 _tmp360_ = _tmp359_;
8036 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8037 if (_inner_error_ != NULL) {
8038 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8039 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
8040 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8041 g_propagate_error (error, _inner_error_);
8042 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8043 _g_free0 (graph_separator);
8044 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8045 _g_free0 (value_separator);
8046 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8047 _g_string_free0 (expr);
8048 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8049 _g_object_unref0 (prop);
8050 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8051 return 0;
8052 #line 8053 "tracker-sparql-expression.c"
8053 } else {
8054 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8055 _g_free0 (graph_separator);
8056 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8057 _g_free0 (value_separator);
8058 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8059 _g_string_free0 (expr);
8060 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8061 _g_object_unref0 (prop);
8062 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8063 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8064 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8065 g_clear_error (&_inner_error_);
8066 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8067 return 0;
8068 #line 8069 "tracker-sparql-expression.c"
8069 }
8070 }
8071 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8072 _g_free0 (value_separator);
8073 #line 827 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8074 value_separator = _tmp360_;
8075 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8076 _tmp361_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
8077 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8078 _tmp362_ = _tmp361_;
8079 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8080 if (_inner_error_ != NULL) {
8081 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8082 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
8083 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8084 g_propagate_error (error, _inner_error_);
8085 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8086 _g_free0 (graph_separator);
8087 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8088 _g_free0 (value_separator);
8089 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8090 _g_string_free0 (expr);
8091 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8092 _g_object_unref0 (prop);
8093 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8094 return 0;
8095 #line 8096 "tracker-sparql-expression.c"
8096 } else {
8097 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8098 _g_free0 (graph_separator);
8099 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8100 _g_free0 (value_separator);
8101 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8102 _g_string_free0 (expr);
8103 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8104 _g_object_unref0 (prop);
8105 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8106 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8107 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8108 g_clear_error (&_inner_error_);
8109 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8110 return 0;
8111 #line 8112 "tracker-sparql-expression.c"
8112 }
8113 }
8114 #line 829 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8115 if (_tmp362_) {
8116 #line 8117 "tracker-sparql-expression.c"
8117 gchar* _tmp363_ = NULL;
8118 gchar* _tmp364_;
8119 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8120 _tmp363_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
8121 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8122 _tmp364_ = _tmp363_;
8123 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8124 if (_inner_error_ != NULL) {
8125 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8126 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
8127 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8128 g_propagate_error (error, _inner_error_);
8129 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8130 _g_free0 (graph_separator);
8131 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8132 _g_free0 (value_separator);
8133 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8134 _g_string_free0 (expr);
8135 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8136 _g_object_unref0 (prop);
8137 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8138 return 0;
8139 #line 8140 "tracker-sparql-expression.c"
8140 } else {
8141 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8142 _g_free0 (graph_separator);
8143 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8144 _g_free0 (value_separator);
8145 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8146 _g_string_free0 (expr);
8147 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8148 _g_object_unref0 (prop);
8149 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8150 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8151 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8152 g_clear_error (&_inner_error_);
8153 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8154 return 0;
8155 #line 8156 "tracker-sparql-expression.c"
8156 }
8157 }
8158 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8159 _g_free0 (graph_separator);
8160 #line 830 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8161 graph_separator = _tmp364_;
8162 #line 8163 "tracker-sparql-expression.c"
8163 }
8164 }
8165 #line 834 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8166 _tmp365_ = prop;
8167 #line 834 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8168 _tmp366_ = tracker_property_get_multiple_values (_tmp365_);
8169 #line 834 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8170 _tmp367_ = _tmp366_;
8171 #line 834 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8172 if (_tmp367_) {
8173 #line 8174 "tracker-sparql-expression.c"
8174 GString* _tmp368_;
8175 GString* _tmp369_;
8176 gssize _tmp370_;
8177 glong begin;
8178 GString* _tmp371_;
8179 TrackerProperty* _tmp372_;
8180 const gchar* _tmp373_;
8181 const gchar* _tmp374_;
8182 GString* _tmp375_;
8183 TrackerProperty* _tmp376_;
8184 TrackerPropertyType _tmp377_;
8185 TrackerPropertyType _tmp378_;
8186 glong _tmp379_;
8187 const gchar* _tmp380_;
8188 GString* _tmp388_;
8189 const gchar* _tmp389_;
8190 gchar* _tmp390_ = NULL;
8191 gchar* _tmp391_;
8192 GString* _tmp392_;
8193 TrackerProperty* _tmp393_;
8194 const gchar* _tmp394_;
8195 const gchar* _tmp395_;
8196 GString* _tmp396_;
8197 const gchar* _tmp397_;
8198 #line 836 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8199 _tmp368_ = sql;
8200 #line 836 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8201 g_string_append (_tmp368_, "(SELECT GROUP_CONCAT(");
8202 #line 837 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8203 _tmp369_ = sql;
8204 #line 837 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8205 _tmp370_ = _tmp369_->len;
8206 #line 837 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8207 begin = (glong) _tmp370_;
8208 #line 838 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8209 _tmp371_ = sql;
8210 #line 838 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8211 _tmp372_ = prop;
8212 #line 838 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8213 _tmp373_ = tracker_property_get_name (_tmp372_);
8214 #line 838 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8215 _tmp374_ = _tmp373_;
8216 #line 838 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8217 g_string_append_printf (_tmp371_, "\"%s\"", _tmp374_);
8218 #line 839 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8219 _tmp375_ = sql;
8220 #line 839 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8221 _tmp376_ = prop;
8222 #line 839 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8223 _tmp377_ = tracker_property_get_data_type (_tmp376_);
8224 #line 839 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8225 _tmp378_ = _tmp377_;
8226 #line 839 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8227 _tmp379_ = begin;
8228 #line 839 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8229 tracker_sparql_expression_convert_expression_to_string (_tmp375_, _tmp378_, _tmp379_);
8230 #line 840 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8231 _tmp380_ = graph_separator;
8232 #line 840 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8233 if (_tmp380_ != NULL) {
8234 #line 8235 "tracker-sparql-expression.c"
8235 GString* _tmp381_;
8236 const gchar* _tmp382_;
8237 gchar* _tmp383_ = NULL;
8238 gchar* _tmp384_;
8239 TrackerProperty* _tmp385_;
8240 const gchar* _tmp386_;
8241 const gchar* _tmp387_;
8242 #line 841 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8243 _tmp381_ = sql;
8244 #line 841 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8245 _tmp382_ = graph_separator;
8246 #line 841 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8247 _tmp383_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp382_);
8248 #line 841 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8249 _tmp384_ = _tmp383_;
8250 #line 841 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8251 _tmp385_ = prop;
8252 #line 841 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8253 _tmp386_ = tracker_property_get_name (_tmp385_);
8254 #line 841 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8255 _tmp387_ = _tmp386_;
8256 #line 841 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8257 g_string_append_printf (_tmp381_, " || %s || COALESCE((SELECT Uri FROM Resource WHERE ID = \"%s:graph\")," \
8258 " '')", _tmp384_, _tmp387_);
8259 #line 841 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8260 _g_free0 (_tmp384_);
8261 #line 8261 "tracker-sparql-expression.c"
8262 }
8263 #line 843 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8264 _tmp388_ = sql;
8265 #line 843 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8266 _tmp389_ = value_separator;
8267 #line 843 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8268 _tmp390_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp389_);
8269 #line 843 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8270 _tmp391_ = _tmp390_;
8271 #line 843 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8272 g_string_append_printf (_tmp388_, ",%s)", _tmp391_);
8273 #line 843 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8274 _g_free0 (_tmp391_);
8275 #line 844 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8276 _tmp392_ = sql;
8277 #line 844 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8278 _tmp393_ = prop;
8279 #line 844 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8280 _tmp394_ = tracker_property_get_table_name (_tmp393_);
8281 #line 844 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8282 _tmp395_ = _tmp394_;
8283 #line 844 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8284 _tmp396_ = expr;
8285 #line 844 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8286 _tmp397_ = _tmp396_->str;
8287 #line 844 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8288 g_string_append_printf (_tmp392_, " FROM \"%s\" WHERE ID = %s)", _tmp395_, _tmp397_);
8289 #line 846 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8290 result = TRACKER_PROPERTY_TYPE_STRING;
8291 #line 846 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8292 _g_free0 (graph_separator);
8293 #line 846 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8294 _g_free0 (value_separator);
8295 #line 846 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8296 _g_string_free0 (expr);
8297 #line 846 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8298 _g_object_unref0 (prop);
8299 #line 846 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8300 return result;
8301 #line 8301 "tracker-sparql-expression.c"
8302 } else {
8303 const gchar* _tmp398_;
8304 #line 849 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8305 _tmp398_ = graph_separator;
8306 #line 849 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8307 if (_tmp398_ == NULL) {
8308 #line 8308 "tracker-sparql-expression.c"
8309 GString* _tmp399_;
8310 TrackerProperty* _tmp400_;
8311 const gchar* _tmp401_;
8312 const gchar* _tmp402_;
8313 TrackerProperty* _tmp403_;
8314 const gchar* _tmp404_;
8315 const gchar* _tmp405_;
8316 GString* _tmp406_;
8317 const gchar* _tmp407_;
8318 TrackerProperty* _tmp408_;
8319 TrackerPropertyType _tmp409_;
8320 TrackerPropertyType _tmp410_;
8321 TrackerProperty* _tmp412_;
8322 TrackerPropertyType _tmp413_;
8323 TrackerPropertyType _tmp414_;
8324 #line 850 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8325 _tmp399_ = sql;
8326 #line 850 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8327 _tmp400_ = prop;
8328 #line 850 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8329 _tmp401_ = tracker_property_get_name (_tmp400_);
8330 #line 850 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8331 _tmp402_ = _tmp401_;
8332 #line 850 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8333 _tmp403_ = prop;
8334 #line 850 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8335 _tmp404_ = tracker_property_get_table_name (_tmp403_);
8336 #line 850 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8337 _tmp405_ = _tmp404_;
8338 #line 850 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8339 _tmp406_ = expr;
8340 #line 850 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8341 _tmp407_ = _tmp406_->str;
8342 #line 850 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8343 g_string_append_printf (_tmp399_, "(SELECT \"%s\" FROM \"%s\" WHERE ID = %s)", _tmp402_, _tmp405_, _tmp407_);
8344 #line 852 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8345 _tmp408_ = prop;
8346 #line 852 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8347 _tmp409_ = tracker_property_get_data_type (_tmp408_);
8348 #line 852 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8349 _tmp410_ = _tmp409_;
8350 #line 852 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8351 if (_tmp410_ == TRACKER_PROPERTY_TYPE_STRING) {
8352 #line 8352 "tracker-sparql-expression.c"
8353 GString* _tmp411_;
8354 #line 853 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8355 _tmp411_ = sql;
8356 #line 853 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8357 tracker_sparql_expression_append_collate (self, _tmp411_);
8358 #line 8358 "tracker-sparql-expression.c"
8359 }
8360 #line 856 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8361 _tmp412_ = prop;
8362 #line 856 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8363 _tmp413_ = tracker_property_get_data_type (_tmp412_);
8364 #line 856 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8365 _tmp414_ = _tmp413_;
8366 #line 856 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8367 result = _tmp414_;
8368 #line 856 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8369 _g_free0 (graph_separator);
8370 #line 856 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8371 _g_free0 (value_separator);
8372 #line 856 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8373 _g_string_free0 (expr);
8374 #line 856 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8375 _g_object_unref0 (prop);
8376 #line 856 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8377 return result;
8378 #line 8378 "tracker-sparql-expression.c"
8379 } else {
8380 GString* _tmp415_;
8381 GString* _tmp416_;
8382 gssize _tmp417_;
8383 glong begin;
8384 GString* _tmp418_;
8385 TrackerProperty* _tmp419_;
8386 const gchar* _tmp420_;
8387 const gchar* _tmp421_;
8388 GString* _tmp422_;
8389 TrackerProperty* _tmp423_;
8390 TrackerPropertyType _tmp424_;
8391 TrackerPropertyType _tmp425_;
8392 glong _tmp426_;
8393 GString* _tmp427_;
8394 const gchar* _tmp428_;
8395 gchar* _tmp429_ = NULL;
8396 gchar* _tmp430_;
8397 TrackerProperty* _tmp431_;
8398 const gchar* _tmp432_;
8399 const gchar* _tmp433_;
8400 GString* _tmp434_;
8401 TrackerProperty* _tmp435_;
8402 const gchar* _tmp436_;
8403 const gchar* _tmp437_;
8404 GString* _tmp438_;
8405 const gchar* _tmp439_;
8406 #line 858 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8407 _tmp415_ = sql;
8408 #line 858 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8409 g_string_append (_tmp415_, "(SELECT ");
8410 #line 859 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8411 _tmp416_ = sql;
8412 #line 859 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8413 _tmp417_ = _tmp416_->len;
8414 #line 859 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8415 begin = (glong) _tmp417_;
8416 #line 860 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8417 _tmp418_ = sql;
8418 #line 860 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8419 _tmp419_ = prop;
8420 #line 860 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8421 _tmp420_ = tracker_property_get_name (_tmp419_);
8422 #line 860 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8423 _tmp421_ = _tmp420_;
8424 #line 860 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8425 g_string_append_printf (_tmp418_, "\"%s\"", _tmp421_);
8426 #line 861 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8427 _tmp422_ = sql;
8428 #line 861 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8429 _tmp423_ = prop;
8430 #line 861 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8431 _tmp424_ = tracker_property_get_data_type (_tmp423_);
8432 #line 861 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8433 _tmp425_ = _tmp424_;
8434 #line 861 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8435 _tmp426_ = begin;
8436 #line 861 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8437 tracker_sparql_expression_convert_expression_to_string (_tmp422_, _tmp425_, _tmp426_);
8438 #line 862 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8439 _tmp427_ = sql;
8440 #line 862 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8441 _tmp428_ = graph_separator;
8442 #line 862 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8443 _tmp429_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp428_);
8444 #line 862 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8445 _tmp430_ = _tmp429_;
8446 #line 862 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8447 _tmp431_ = prop;
8448 #line 862 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8449 _tmp432_ = tracker_property_get_name (_tmp431_);
8450 #line 862 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8451 _tmp433_ = _tmp432_;
8452 #line 862 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8453 g_string_append_printf (_tmp427_, " || %s || COALESCE((SELECT Uri FROM Resource WHERE ID = \"%s:graph\")," \
8454 " '')", _tmp430_, _tmp433_);
8455 #line 862 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8456 _g_free0 (_tmp430_);
8457 #line 863 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8458 _tmp434_ = sql;
8459 #line 863 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8460 _tmp435_ = prop;
8461 #line 863 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8462 _tmp436_ = tracker_property_get_table_name (_tmp435_);
8463 #line 863 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8464 _tmp437_ = _tmp436_;
8465 #line 863 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8466 _tmp438_ = expr;
8467 #line 863 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8468 _tmp439_ = _tmp438_->str;
8469 #line 863 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8470 g_string_append_printf (_tmp434_, " FROM \"%s\" WHERE ID = %s)", _tmp437_, _tmp439_);
8471 #line 865 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8472 result = TRACKER_PROPERTY_TYPE_STRING;
8473 #line 865 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8474 _g_free0 (graph_separator);
8475 #line 865 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8476 _g_free0 (value_separator);
8477 #line 865 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8478 _g_string_free0 (expr);
8479 #line 865 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8480 _g_object_unref0 (prop);
8481 #line 865 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8482 return result;
8483 #line 8482 "tracker-sparql-expression.c"
8484 }
8485 }
8486 #line 807 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8487 _g_free0 (graph_separator);
8488 #line 807 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8489 _g_free0 (value_separator);
8490 #line 807 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8491 _g_string_free0 (expr);
8492 #line 807 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8493 _g_object_unref0 (prop);
8494 #line 8493 "tracker-sparql-expression.c"
8495 }
8496 }
8497 }
8498 }
8499 }
8500 }
8501 }
8502 }
8503 }
8504 }
8505 }
8506 }
8507 }
8508 }
8509 }
8510 }
8511 }
8512 }
8513 }
8514 }
8515 }
8516 }
8517 }
8518 }
8519 }
8520 }
8521 }
8522 }
8523 }
8524 }
8525 }
8526
8527
8528 static TrackerPropertyType tracker_sparql_expression_parse_type_uri (TrackerSparqlExpression* self, GError** error) {
8529 TrackerPropertyType result = 0;
8530 gchar* type_iri = NULL;
8531 TrackerPropertyType type = 0;
8532 gboolean _tmp0_ = FALSE;
8533 gboolean _tmp1_;
8534 const gchar* _tmp23_;
8535 GError * _inner_error_ = NULL;
8536 #line 871 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8537 g_return_val_if_fail (self != NULL, 0);
8538 #line 875 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8539 _tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_IRI_REF, &_inner_error_);
8540 #line 875 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8541 _tmp1_ = _tmp0_;
8542 #line 875 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8543 if (_inner_error_ != NULL) {
8544 #line 875 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8545 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
8546 #line 875 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8547 g_propagate_error (error, _inner_error_);
8548 #line 875 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8549 _g_free0 (type_iri);
8550 #line 875 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8551 return 0;
8552 #line 8551 "tracker-sparql-expression.c"
8553 } else {
8554 #line 875 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8555 _g_free0 (type_iri);
8556 #line 875 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8557 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8558 #line 875 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8559 g_clear_error (&_inner_error_);
8560 #line 875 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8561 return 0;
8562 #line 8561 "tracker-sparql-expression.c"
8563 }
8564 }
8565 #line 875 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8566 if (_tmp1_) {
8567 #line 8566 "tracker-sparql-expression.c"
8568 gchar* _tmp2_ = NULL;
8569 #line 876 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8570 _tmp2_ = tracker_sparql_expression_get_last_string (self, 1);
8571 #line 876 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8572 _g_free0 (type_iri);
8573 #line 876 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8574 type_iri = _tmp2_;
8575 #line 8574 "tracker-sparql-expression.c"
8576 } else {
8577 gboolean _tmp3_ = FALSE;
8578 gboolean _tmp4_;
8579 #line 877 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8580 _tmp3_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX, &_inner_error_);
8581 #line 877 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8582 _tmp4_ = _tmp3_;
8583 #line 877 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8584 if (_inner_error_ != NULL) {
8585 #line 877 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8586 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
8587 #line 877 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8588 g_propagate_error (error, _inner_error_);
8589 #line 877 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8590 _g_free0 (type_iri);
8591 #line 877 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8592 return 0;
8593 #line 8592 "tracker-sparql-expression.c"
8594 } else {
8595 #line 877 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8596 _g_free0 (type_iri);
8597 #line 877 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8598 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8599 #line 877 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8600 g_clear_error (&_inner_error_);
8601 #line 877 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8602 return 0;
8603 #line 8602 "tracker-sparql-expression.c"
8604 }
8605 }
8606 #line 877 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8607 if (_tmp4_) {
8608 #line 8607 "tracker-sparql-expression.c"
8609 gchar* _tmp5_ = NULL;
8610 gchar* ns;
8611 TrackerSparqlQuery* _tmp6_;
8612 const gchar* _tmp7_;
8613 gchar* _tmp8_ = NULL;
8614 gchar* _tmp9_;
8615 gchar* _tmp10_ = NULL;
8616 gchar* _tmp11_;
8617 gchar* _tmp12_ = NULL;
8618 gchar* _tmp13_;
8619 gchar* _tmp14_;
8620 #line 878 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8621 _tmp5_ = tracker_sparql_expression_get_last_string (self, 0);
8622 #line 878 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8623 ns = _tmp5_;
8624 #line 879 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8625 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COLON, &_inner_error_);
8626 #line 879 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8627 if (_inner_error_ != NULL) {
8628 #line 879 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8629 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
8630 #line 879 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8631 g_propagate_error (error, _inner_error_);
8632 #line 879 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8633 _g_free0 (ns);
8634 #line 879 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8635 _g_free0 (type_iri);
8636 #line 879 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8637 return 0;
8638 #line 8637 "tracker-sparql-expression.c"
8639 } else {
8640 #line 879 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8641 _g_free0 (ns);
8642 #line 879 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8643 _g_free0 (type_iri);
8644 #line 879 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8645 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8646 #line 879 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8647 g_clear_error (&_inner_error_);
8648 #line 879 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8649 return 0;
8650 #line 8649 "tracker-sparql-expression.c"
8651 }
8652 }
8653 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8654 _tmp6_ = self->priv->query;
8655 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8656 _tmp7_ = ns;
8657 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8658 _tmp8_ = tracker_sparql_expression_get_last_string (self, 0);
8659 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8660 _tmp9_ = _tmp8_;
8661 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8662 _tmp10_ = string_substring (_tmp9_, (glong) 1, (glong) (-1));
8663 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8664 _tmp11_ = _tmp10_;
8665 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8666 _tmp12_ = tracker_sparql_query_resolve_prefixed_name (_tmp6_, _tmp7_, _tmp11_, &_inner_error_);
8667 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8668 _tmp13_ = _tmp12_;
8669 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8670 _g_free0 (_tmp11_);
8671 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8672 _g_free0 (_tmp9_);
8673 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8674 _tmp14_ = _tmp13_;
8675 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8676 if (_inner_error_ != NULL) {
8677 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8678 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
8679 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8680 g_propagate_error (error, _inner_error_);
8681 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8682 _g_free0 (ns);
8683 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8684 _g_free0 (type_iri);
8685 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8686 return 0;
8687 #line 8686 "tracker-sparql-expression.c"
8688 } else {
8689 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8690 _g_free0 (ns);
8691 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8692 _g_free0 (type_iri);
8693 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8694 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8695 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8696 g_clear_error (&_inner_error_);
8697 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8698 return 0;
8699 #line 8698 "tracker-sparql-expression.c"
8700 }
8701 }
8702 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8703 _g_free0 (type_iri);
8704 #line 880 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8705 type_iri = _tmp14_;
8706 #line 877 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8707 _g_free0 (ns);
8708 #line 8707 "tracker-sparql-expression.c"
8709 } else {
8710 TrackerSparqlQuery* _tmp15_;
8711 gchar* _tmp16_ = NULL;
8712 gchar* _tmp17_;
8713 gchar* _tmp18_ = NULL;
8714 gchar* _tmp19_;
8715 gchar* _tmp20_ = NULL;
8716 gchar* _tmp21_;
8717 gchar* _tmp22_;
8718 #line 882 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8719 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COLON, &_inner_error_);
8720 #line 882 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8721 if (_inner_error_ != NULL) {
8722 #line 882 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8723 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
8724 #line 882 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8725 g_propagate_error (error, _inner_error_);
8726 #line 882 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8727 _g_free0 (type_iri);
8728 #line 882 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8729 return 0;
8730 #line 8729 "tracker-sparql-expression.c"
8731 } else {
8732 #line 882 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8733 _g_free0 (type_iri);
8734 #line 882 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8735 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8736 #line 882 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8737 g_clear_error (&_inner_error_);
8738 #line 882 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8739 return 0;
8740 #line 8739 "tracker-sparql-expression.c"
8741 }
8742 }
8743 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8744 _tmp15_ = self->priv->query;
8745 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8746 _tmp16_ = tracker_sparql_expression_get_last_string (self, 0);
8747 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8748 _tmp17_ = _tmp16_;
8749 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8750 _tmp18_ = string_substring (_tmp17_, (glong) 1, (glong) (-1));
8751 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8752 _tmp19_ = _tmp18_;
8753 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8754 _tmp20_ = tracker_sparql_query_resolve_prefixed_name (_tmp15_, "", _tmp19_, &_inner_error_);
8755 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8756 _tmp21_ = _tmp20_;
8757 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8758 _g_free0 (_tmp19_);
8759 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8760 _g_free0 (_tmp17_);
8761 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8762 _tmp22_ = _tmp21_;
8763 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8764 if (_inner_error_ != NULL) {
8765 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8766 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
8767 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8768 g_propagate_error (error, _inner_error_);
8769 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8770 _g_free0 (type_iri);
8771 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8772 return 0;
8773 #line 8772 "tracker-sparql-expression.c"
8774 } else {
8775 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8776 _g_free0 (type_iri);
8777 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8778 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8779 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8780 g_clear_error (&_inner_error_);
8781 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8782 return 0;
8783 #line 8782 "tracker-sparql-expression.c"
8784 }
8785 }
8786 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8787 _g_free0 (type_iri);
8788 #line 883 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8789 type_iri = _tmp22_;
8790 #line 8789 "tracker-sparql-expression.c"
8791 }
8792 }
8793 #line 886 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8794 _tmp23_ = type_iri;
8795 #line 886 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8796 if (g_strcmp0 (_tmp23_, TRACKER_SPARQL_EXPRESSION_XSD_NS "boolean") == 0) {
8797 #line 887 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8798 type = TRACKER_PROPERTY_TYPE_BOOLEAN;
8799 #line 8798 "tracker-sparql-expression.c"
8800 } else {
8801 gboolean _tmp24_ = FALSE;
8802 gboolean _tmp25_ = FALSE;
8803 gboolean _tmp26_ = FALSE;
8804 gboolean _tmp27_ = FALSE;
8805 gboolean _tmp28_ = FALSE;
8806 gboolean _tmp29_ = FALSE;
8807 gboolean _tmp30_ = FALSE;
8808 gboolean _tmp31_ = FALSE;
8809 gboolean _tmp32_ = FALSE;
8810 gboolean _tmp33_ = FALSE;
8811 gboolean _tmp34_ = FALSE;
8812 gboolean _tmp35_ = FALSE;
8813 const gchar* _tmp36_;
8814 gboolean _tmp38_;
8815 gboolean _tmp40_;
8816 gboolean _tmp42_;
8817 gboolean _tmp44_;
8818 gboolean _tmp46_;
8819 gboolean _tmp48_;
8820 gboolean _tmp50_;
8821 gboolean _tmp52_;
8822 gboolean _tmp54_;
8823 gboolean _tmp56_;
8824 gboolean _tmp58_;
8825 gboolean _tmp60_;
8826 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8827 _tmp36_ = type_iri;
8828 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8829 if (g_strcmp0 (_tmp36_, TRACKER_SPARQL_EXPRESSION_XSD_NS "integer") == 0) {
8830 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8831 _tmp35_ = TRUE;
8832 #line 8831 "tracker-sparql-expression.c"
8833 } else {
8834 const gchar* _tmp37_;
8835 #line 889 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8836 _tmp37_ = type_iri;
8837 #line 889 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8838 _tmp35_ = g_strcmp0 (_tmp37_, TRACKER_SPARQL_EXPRESSION_XSD_NS "nonPositiveInteger") == 0;
8839 #line 8838 "tracker-sparql-expression.c"
8840 }
8841 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8842 _tmp38_ = _tmp35_;
8843 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8844 if (_tmp38_) {
8845 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8846 _tmp34_ = TRUE;
8847 #line 8846 "tracker-sparql-expression.c"
8848 } else {
8849 const gchar* _tmp39_;
8850 #line 890 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8851 _tmp39_ = type_iri;
8852 #line 890 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8853 _tmp34_ = g_strcmp0 (_tmp39_, TRACKER_SPARQL_EXPRESSION_XSD_NS "negativeInteger") == 0;
8854 #line 8853 "tracker-sparql-expression.c"
8855 }
8856 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8857 _tmp40_ = _tmp34_;
8858 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8859 if (_tmp40_) {
8860 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8861 _tmp33_ = TRUE;
8862 #line 8861 "tracker-sparql-expression.c"
8863 } else {
8864 const gchar* _tmp41_;
8865 #line 891 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8866 _tmp41_ = type_iri;
8867 #line 891 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8868 _tmp33_ = g_strcmp0 (_tmp41_, TRACKER_SPARQL_EXPRESSION_XSD_NS "long") == 0;
8869 #line 8868 "tracker-sparql-expression.c"
8870 }
8871 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8872 _tmp42_ = _tmp33_;
8873 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8874 if (_tmp42_) {
8875 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8876 _tmp32_ = TRUE;
8877 #line 8876 "tracker-sparql-expression.c"
8878 } else {
8879 const gchar* _tmp43_;
8880 #line 892 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8881 _tmp43_ = type_iri;
8882 #line 892 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8883 _tmp32_ = g_strcmp0 (_tmp43_, TRACKER_SPARQL_EXPRESSION_XSD_NS "int") == 0;
8884 #line 8883 "tracker-sparql-expression.c"
8885 }
8886 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8887 _tmp44_ = _tmp32_;
8888 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8889 if (_tmp44_) {
8890 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8891 _tmp31_ = TRUE;
8892 #line 8891 "tracker-sparql-expression.c"
8893 } else {
8894 const gchar* _tmp45_;
8895 #line 893 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8896 _tmp45_ = type_iri;
8897 #line 893 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8898 _tmp31_ = g_strcmp0 (_tmp45_, TRACKER_SPARQL_EXPRESSION_XSD_NS "short") == 0;
8899 #line 8898 "tracker-sparql-expression.c"
8900 }
8901 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8902 _tmp46_ = _tmp31_;
8903 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8904 if (_tmp46_) {
8905 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8906 _tmp30_ = TRUE;
8907 #line 8906 "tracker-sparql-expression.c"
8908 } else {
8909 const gchar* _tmp47_;
8910 #line 894 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8911 _tmp47_ = type_iri;
8912 #line 894 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8913 _tmp30_ = g_strcmp0 (_tmp47_, TRACKER_SPARQL_EXPRESSION_XSD_NS "byte") == 0;
8914 #line 8913 "tracker-sparql-expression.c"
8915 }
8916 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8917 _tmp48_ = _tmp30_;
8918 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8919 if (_tmp48_) {
8920 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8921 _tmp29_ = TRUE;
8922 #line 8921 "tracker-sparql-expression.c"
8923 } else {
8924 const gchar* _tmp49_;
8925 #line 895 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8926 _tmp49_ = type_iri;
8927 #line 895 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8928 _tmp29_ = g_strcmp0 (_tmp49_, TRACKER_SPARQL_EXPRESSION_XSD_NS "nonNegativeInteger") == 0;
8929 #line 8928 "tracker-sparql-expression.c"
8930 }
8931 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8932 _tmp50_ = _tmp29_;
8933 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8934 if (_tmp50_) {
8935 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8936 _tmp28_ = TRUE;
8937 #line 8936 "tracker-sparql-expression.c"
8938 } else {
8939 const gchar* _tmp51_;
8940 #line 896 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8941 _tmp51_ = type_iri;
8942 #line 896 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8943 _tmp28_ = g_strcmp0 (_tmp51_, TRACKER_SPARQL_EXPRESSION_XSD_NS "unsignedLong") == 0;
8944 #line 8943 "tracker-sparql-expression.c"
8945 }
8946 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8947 _tmp52_ = _tmp28_;
8948 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8949 if (_tmp52_) {
8950 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8951 _tmp27_ = TRUE;
8952 #line 8951 "tracker-sparql-expression.c"
8953 } else {
8954 const gchar* _tmp53_;
8955 #line 897 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8956 _tmp53_ = type_iri;
8957 #line 897 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8958 _tmp27_ = g_strcmp0 (_tmp53_, TRACKER_SPARQL_EXPRESSION_XSD_NS "unsignedInt") == 0;
8959 #line 8958 "tracker-sparql-expression.c"
8960 }
8961 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8962 _tmp54_ = _tmp27_;
8963 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8964 if (_tmp54_) {
8965 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8966 _tmp26_ = TRUE;
8967 #line 8966 "tracker-sparql-expression.c"
8968 } else {
8969 const gchar* _tmp55_;
8970 #line 898 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8971 _tmp55_ = type_iri;
8972 #line 898 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8973 _tmp26_ = g_strcmp0 (_tmp55_, TRACKER_SPARQL_EXPRESSION_XSD_NS "unsignedShort") == 0;
8974 #line 8973 "tracker-sparql-expression.c"
8975 }
8976 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8977 _tmp56_ = _tmp26_;
8978 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8979 if (_tmp56_) {
8980 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8981 _tmp25_ = TRUE;
8982 #line 8981 "tracker-sparql-expression.c"
8983 } else {
8984 const gchar* _tmp57_;
8985 #line 899 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8986 _tmp57_ = type_iri;
8987 #line 899 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8988 _tmp25_ = g_strcmp0 (_tmp57_, TRACKER_SPARQL_EXPRESSION_XSD_NS "unsignedByte") == 0;
8989 #line 8988 "tracker-sparql-expression.c"
8990 }
8991 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8992 _tmp58_ = _tmp25_;
8993 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8994 if (_tmp58_) {
8995 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
8996 _tmp24_ = TRUE;
8997 #line 8996 "tracker-sparql-expression.c"
8998 } else {
8999 const gchar* _tmp59_;
9000 #line 900 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9001 _tmp59_ = type_iri;
9002 #line 900 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9003 _tmp24_ = g_strcmp0 (_tmp59_, TRACKER_SPARQL_EXPRESSION_XSD_NS "positiveInteger") == 0;
9004 #line 9003 "tracker-sparql-expression.c"
9005 }
9006 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9007 _tmp60_ = _tmp24_;
9008 #line 888 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9009 if (_tmp60_) {
9010 #line 901 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9011 type = TRACKER_PROPERTY_TYPE_INTEGER;
9012 #line 9011 "tracker-sparql-expression.c"
9013 } else {
9014 const gchar* _tmp61_;
9015 #line 902 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9016 _tmp61_ = type_iri;
9017 #line 902 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9018 if (g_strcmp0 (_tmp61_, TRACKER_SPARQL_EXPRESSION_XSD_NS "double") == 0) {
9019 #line 903 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9020 type = TRACKER_PROPERTY_TYPE_DOUBLE;
9021 #line 9020 "tracker-sparql-expression.c"
9022 } else {
9023 const gchar* _tmp62_;
9024 #line 904 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9025 _tmp62_ = type_iri;
9026 #line 904 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9027 if (g_strcmp0 (_tmp62_, TRACKER_SPARQL_EXPRESSION_XSD_NS "date") == 0) {
9028 #line 905 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9029 type = TRACKER_PROPERTY_TYPE_DATE;
9030 #line 9029 "tracker-sparql-expression.c"
9031 } else {
9032 const gchar* _tmp63_;
9033 #line 906 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9034 _tmp63_ = type_iri;
9035 #line 906 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9036 if (g_strcmp0 (_tmp63_, TRACKER_SPARQL_EXPRESSION_XSD_NS "dateTime") == 0) {
9037 #line 907 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9038 type = TRACKER_PROPERTY_TYPE_DATETIME;
9039 #line 9038 "tracker-sparql-expression.c"
9040 } else {
9041 #line 909 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9042 type = TRACKER_PROPERTY_TYPE_STRING;
9043 #line 9042 "tracker-sparql-expression.c"
9044 }
9045 }
9046 }
9047 }
9048 }
9049 #line 912 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9050 result = type;
9051 #line 912 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9052 _g_free0 (type_iri);
9053 #line 912 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9054 return result;
9055 #line 9054 "tracker-sparql-expression.c"
9056 }
9057
9058
9059 gchar* tracker_sparql_expression_parse_string_literal (TrackerSparqlExpression* self, TrackerPropertyType* type, GError** error) {
9060 TrackerPropertyType _vala_type = 0;
9061 gchar* result = NULL;
9062 TrackerSparqlTokenType _tmp0_ = 0;
9063 GError * _inner_error_ = NULL;
9064 #line 915 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9065 g_return_val_if_fail (self != NULL, NULL);
9066 #line 916 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9067 _vala_type = TRACKER_PROPERTY_TYPE_STRING;
9068 #line 918 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9069 tracker_sparql_expression_next (self, &_inner_error_);
9070 #line 918 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9071 if (_inner_error_ != NULL) {
9072 #line 918 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9073 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
9074 #line 918 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9075 g_propagate_error (error, _inner_error_);
9076 #line 918 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9077 return NULL;
9078 #line 9077 "tracker-sparql-expression.c"
9079 } else {
9080 #line 918 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9081 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
9082 #line 918 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9083 g_clear_error (&_inner_error_);
9084 #line 918 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9085 return NULL;
9086 #line 9085 "tracker-sparql-expression.c"
9087 }
9088 }
9089 #line 919 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9090 _tmp0_ = tracker_sparql_expression_last (self);
9091 #line 919 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9092 switch (_tmp0_) {
9093 #line 919 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9094 case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL1:
9095 #line 919 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9096 case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL2:
9097 #line 9096 "tracker-sparql-expression.c"
9098 {
9099 GString* _tmp1_;
9100 GString* sb;
9101 gchar* _tmp2_ = NULL;
9102 gchar* s;
9103 const gchar* _tmp3_;
9104 const gchar* p;
9105 const gchar* _tmp4_;
9106 const gchar* _tmp5_;
9107 gint _tmp6_;
9108 gint _tmp7_;
9109 const gchar* end;
9110 gboolean _tmp50_ = FALSE;
9111 gboolean _tmp51_;
9112 GString* _tmp54_;
9113 const gchar* _tmp55_;
9114 gchar* _tmp56_;
9115 #line 922 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9116 _tmp1_ = g_string_new ("");
9117 #line 922 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9118 sb = _tmp1_;
9119 #line 924 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9120 _tmp2_ = tracker_sparql_expression_get_last_string (self, 1);
9121 #line 924 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9122 s = _tmp2_;
9123 #line 925 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9124 _tmp3_ = s;
9125 #line 925 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9126 p = _tmp3_;
9127 #line 926 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9128 _tmp4_ = p;
9129 #line 926 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9130 _tmp5_ = s;
9131 #line 926 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9132 _tmp6_ = strlen (_tmp5_);
9133 #line 926 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9134 _tmp7_ = _tmp6_;
9135 #line 926 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9136 end = _tmp4_ + _tmp7_;
9137 #line 927 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9138 while (TRUE) {
9139 #line 9138 "tracker-sparql-expression.c"
9140 const gchar* _tmp8_;
9141 const gchar* _tmp9_;
9142 const gchar* _tmp10_;
9143 const gchar* _tmp11_ = NULL;
9144 const gchar* q;
9145 const gchar* _tmp12_;
9146 #line 927 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9147 _tmp8_ = p;
9148 #line 927 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9149 _tmp9_ = end;
9150 #line 927 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9151 if (!(((glong) _tmp8_) < ((glong) _tmp9_))) {
9152 #line 927 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9153 break;
9154 #line 9153 "tracker-sparql-expression.c"
9155 }
9156 #line 928 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9157 _tmp10_ = p;
9158 #line 928 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9159 _tmp11_ = strchr (_tmp10_, (gint) '\\');
9160 #line 928 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9161 q = _tmp11_;
9162 #line 929 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9163 _tmp12_ = q;
9164 #line 929 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9165 if (_tmp12_ == NULL) {
9166 #line 9165 "tracker-sparql-expression.c"
9167 GString* _tmp13_;
9168 const gchar* _tmp14_;
9169 const gchar* _tmp15_;
9170 const gchar* _tmp16_;
9171 const gchar* _tmp17_;
9172 #line 930 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9173 _tmp13_ = sb;
9174 #line 930 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9175 _tmp14_ = p;
9176 #line 930 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9177 _tmp15_ = end;
9178 #line 930 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9179 _tmp16_ = p;
9180 #line 930 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9181 g_string_append_len (_tmp13_, _tmp14_, (gssize) ((glong) (_tmp15_ - _tmp16_)));
9182 #line 931 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9183 _tmp17_ = end;
9184 #line 931 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9185 p = _tmp17_;
9186 #line 9185 "tracker-sparql-expression.c"
9187 } else {
9188 GString* _tmp18_;
9189 const gchar* _tmp19_;
9190 const gchar* _tmp20_;
9191 const gchar* _tmp21_;
9192 const gchar* _tmp22_;
9193 const gchar* _tmp23_;
9194 gchar _tmp24_;
9195 const gchar* _tmp49_;
9196 #line 933 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9197 _tmp18_ = sb;
9198 #line 933 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9199 _tmp19_ = p;
9200 #line 933 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9201 _tmp20_ = q;
9202 #line 933 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9203 _tmp21_ = p;
9204 #line 933 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9205 g_string_append_len (_tmp18_, _tmp19_, (gssize) ((glong) (_tmp20_ - _tmp21_)));
9206 #line 934 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9207 _tmp22_ = q;
9208 #line 934 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9209 p = _tmp22_ + 1;
9210 #line 935 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9211 _tmp23_ = p;
9212 #line 935 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9213 _tmp24_ = ((gchar*) _tmp23_)[0];
9214 #line 935 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9215 switch (_tmp24_) {
9216 #line 935 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9217 case '\'':
9218 #line 935 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9219 case '"':
9220 #line 935 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9221 case '\\':
9222 #line 9221 "tracker-sparql-expression.c"
9223 {
9224 GString* _tmp25_;
9225 const gchar* _tmp26_;
9226 gchar _tmp27_;
9227 #line 939 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9228 _tmp25_ = sb;
9229 #line 939 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9230 _tmp26_ = p;
9231 #line 939 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9232 _tmp27_ = ((gchar*) _tmp26_)[0];
9233 #line 939 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9234 g_string_append_c (_tmp25_, _tmp27_);
9235 #line 940 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9236 break;
9237 #line 9236 "tracker-sparql-expression.c"
9238 }
9239 #line 935 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9240 case 'b':
9241 #line 9240 "tracker-sparql-expression.c"
9242 {
9243 GString* _tmp28_;
9244 #line 942 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9245 _tmp28_ = sb;
9246 #line 942 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9247 g_string_append_c (_tmp28_, '\b');
9248 #line 943 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9249 break;
9250 #line 9249 "tracker-sparql-expression.c"
9251 }
9252 #line 935 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9253 case 'f':
9254 #line 9253 "tracker-sparql-expression.c"
9255 {
9256 GString* _tmp29_;
9257 #line 945 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9258 _tmp29_ = sb;
9259 #line 945 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9260 g_string_append_c (_tmp29_, '\f');
9261 #line 946 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9262 break;
9263 #line 9262 "tracker-sparql-expression.c"
9264 }
9265 #line 935 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9266 case 'n':
9267 #line 9266 "tracker-sparql-expression.c"
9268 {
9269 GString* _tmp30_;
9270 #line 948 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9271 _tmp30_ = sb;
9272 #line 948 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9273 g_string_append_c (_tmp30_, '\n');
9274 #line 949 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9275 break;
9276 #line 9275 "tracker-sparql-expression.c"
9277 }
9278 #line 935 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9279 case 'r':
9280 #line 9279 "tracker-sparql-expression.c"
9281 {
9282 GString* _tmp31_;
9283 #line 951 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9284 _tmp31_ = sb;
9285 #line 951 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9286 g_string_append_c (_tmp31_, '\r');
9287 #line 952 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9288 break;
9289 #line 9288 "tracker-sparql-expression.c"
9290 }
9291 #line 935 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9292 case 't':
9293 #line 9292 "tracker-sparql-expression.c"
9294 {
9295 GString* _tmp32_;
9296 #line 954 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9297 _tmp32_ = sb;
9298 #line 954 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9299 g_string_append_c (_tmp32_, '\t');
9300 #line 955 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9301 break;
9302 #line 9301 "tracker-sparql-expression.c"
9303 }
9304 #line 935 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9305 case 'u':
9306 #line 9305 "tracker-sparql-expression.c"
9307 {
9308 const gchar* _tmp33_;
9309 gchar* ptr;
9310 gchar* _tmp34_;
9311 gchar _tmp35_;
9312 gint _tmp36_ = 0;
9313 gchar* _tmp37_;
9314 gchar _tmp38_;
9315 gint _tmp39_ = 0;
9316 gchar* _tmp40_;
9317 gchar _tmp41_;
9318 gint _tmp42_ = 0;
9319 gchar* _tmp43_;
9320 gchar _tmp44_;
9321 gint _tmp45_ = 0;
9322 gunichar c;
9323 GString* _tmp46_;
9324 gunichar _tmp47_;
9325 const gchar* _tmp48_;
9326 #line 957 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9327 _tmp33_ = p;
9328 #line 957 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9329 ptr = ((gchar*) _tmp33_) + 1;
9330 #line 958 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9331 _tmp34_ = ptr;
9332 #line 958 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9333 _tmp35_ = _tmp34_[0];
9334 #line 958 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9335 _tmp36_ = g_ascii_xdigit_value (_tmp35_);
9336 #line 958 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9337 _tmp37_ = ptr;
9338 #line 958 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9339 _tmp38_ = _tmp37_[1];
9340 #line 958 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9341 _tmp39_ = g_ascii_xdigit_value (_tmp38_);
9342 #line 958 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9343 _tmp40_ = ptr;
9344 #line 958 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9345 _tmp41_ = _tmp40_[2];
9346 #line 958 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9347 _tmp42_ = g_ascii_xdigit_value (_tmp41_);
9348 #line 958 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9349 _tmp43_ = ptr;
9350 #line 958 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9351 _tmp44_ = _tmp43_[3];
9352 #line 958 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9353 _tmp45_ = g_ascii_xdigit_value (_tmp44_);
9354 #line 958 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9355 c = (((((((gunichar) _tmp36_) * 16) + _tmp39_) * 16) + _tmp42_) * 16) + _tmp45_;
9356 #line 959 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9357 _tmp46_ = sb;
9358 #line 959 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9359 _tmp47_ = c;
9360 #line 959 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9361 g_string_append_unichar (_tmp46_, _tmp47_);
9362 #line 960 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9363 _tmp48_ = p;
9364 #line 960 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9365 p = _tmp48_ + 4;
9366 #line 961 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9367 break;
9368 #line 9367 "tracker-sparql-expression.c"
9369 }
9370 default:
9371 #line 935 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9372 break;
9373 #line 9372 "tracker-sparql-expression.c"
9374 }
9375 #line 963 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9376 _tmp49_ = p;
9377 #line 963 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9378 p = _tmp49_ + 1;
9379 #line 9378 "tracker-sparql-expression.c"
9380 }
9381 }
9382 #line 967 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9383 _tmp50_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DOUBLE_CIRCUMFLEX, &_inner_error_);
9384 #line 967 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9385 _tmp51_ = _tmp50_;
9386 #line 967 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9387 if (_inner_error_ != NULL) {
9388 #line 967 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9389 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
9390 #line 967 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9391 g_propagate_error (error, _inner_error_);
9392 #line 967 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9393 _g_free0 (s);
9394 #line 967 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9395 _g_string_free0 (sb);
9396 #line 967 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9397 return NULL;
9398 #line 9397 "tracker-sparql-expression.c"
9399 } else {
9400 #line 967 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9401 _g_free0 (s);
9402 #line 967 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9403 _g_string_free0 (sb);
9404 #line 967 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9405 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
9406 #line 967 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9407 g_clear_error (&_inner_error_);
9408 #line 967 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9409 return NULL;
9410 #line 9409 "tracker-sparql-expression.c"
9411 }
9412 }
9413 #line 967 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9414 if (_tmp51_) {
9415 #line 9414 "tracker-sparql-expression.c"
9416 TrackerPropertyType _tmp52_ = 0;
9417 TrackerPropertyType _tmp53_;
9418 #line 969 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9419 _tmp52_ = tracker_sparql_expression_parse_type_uri (self, &_inner_error_);
9420 #line 969 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9421 _tmp53_ = _tmp52_;
9422 #line 969 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9423 if (_inner_error_ != NULL) {
9424 #line 969 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9425 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
9426 #line 969 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9427 g_propagate_error (error, _inner_error_);
9428 #line 969 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9429 _g_free0 (s);
9430 #line 969 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9431 _g_string_free0 (sb);
9432 #line 969 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9433 return NULL;
9434 #line 9433 "tracker-sparql-expression.c"
9435 } else {
9436 #line 969 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9437 _g_free0 (s);
9438 #line 969 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9439 _g_string_free0 (sb);
9440 #line 969 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9441 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
9442 #line 969 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9443 g_clear_error (&_inner_error_);
9444 #line 969 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9445 return NULL;
9446 #line 9445 "tracker-sparql-expression.c"
9447 }
9448 }
9449 #line 969 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9450 _vala_type = _tmp53_;
9451 #line 9450 "tracker-sparql-expression.c"
9452 }
9453 #line 972 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9454 _tmp54_ = sb;
9455 #line 972 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9456 _tmp55_ = _tmp54_->str;
9457 #line 972 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9458 _tmp56_ = g_strdup (_tmp55_);
9459 #line 972 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9460 result = _tmp56_;
9461 #line 972 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9462 _g_free0 (s);
9463 #line 972 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9464 _g_string_free0 (sb);
9465 #line 972 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9466 if (type) {
9467 #line 972 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9468 *type = _vala_type;
9469 #line 9468 "tracker-sparql-expression.c"
9470 }
9471 #line 972 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9472 return result;
9473 #line 9472 "tracker-sparql-expression.c"
9474 }
9475 #line 919 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9476 case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG1:
9477 #line 919 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9478 case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG2:
9479 #line 9478 "tracker-sparql-expression.c"
9480 {
9481 gchar* _tmp57_ = NULL;
9482 gchar* _result_;
9483 gboolean _tmp58_ = FALSE;
9484 gboolean _tmp59_;
9485 #line 975 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9486 _tmp57_ = tracker_sparql_expression_get_last_string (self, 3);
9487 #line 975 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9488 _result_ = _tmp57_;
9489 #line 977 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9490 _tmp58_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DOUBLE_CIRCUMFLEX, &_inner_error_);
9491 #line 977 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9492 _tmp59_ = _tmp58_;
9493 #line 977 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9494 if (_inner_error_ != NULL) {
9495 #line 977 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9496 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
9497 #line 977 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9498 g_propagate_error (error, _inner_error_);
9499 #line 977 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9500 _g_free0 (_result_);
9501 #line 977 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9502 return NULL;
9503 #line 9502 "tracker-sparql-expression.c"
9504 } else {
9505 #line 977 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9506 _g_free0 (_result_);
9507 #line 977 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9508 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
9509 #line 977 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9510 g_clear_error (&_inner_error_);
9511 #line 977 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9512 return NULL;
9513 #line 9512 "tracker-sparql-expression.c"
9514 }
9515 }
9516 #line 977 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9517 if (_tmp59_) {
9518 #line 9517 "tracker-sparql-expression.c"
9519 TrackerPropertyType _tmp60_ = 0;
9520 TrackerPropertyType _tmp61_;
9521 #line 979 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9522 _tmp60_ = tracker_sparql_expression_parse_type_uri (self, &_inner_error_);
9523 #line 979 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9524 _tmp61_ = _tmp60_;
9525 #line 979 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9526 if (_inner_error_ != NULL) {
9527 #line 979 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9528 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
9529 #line 979 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9530 g_propagate_error (error, _inner_error_);
9531 #line 979 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9532 _g_free0 (_result_);
9533 #line 979 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9534 return NULL;
9535 #line 9534 "tracker-sparql-expression.c"
9536 } else {
9537 #line 979 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9538 _g_free0 (_result_);
9539 #line 979 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9540 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
9541 #line 979 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9542 g_clear_error (&_inner_error_);
9543 #line 979 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9544 return NULL;
9545 #line 9544 "tracker-sparql-expression.c"
9546 }
9547 }
9548 #line 979 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9549 _vala_type = _tmp61_;
9550 #line 9549 "tracker-sparql-expression.c"
9551 }
9552 #line 982 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9553 result = _result_;
9554 #line 982 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9555 if (type) {
9556 #line 982 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9557 *type = _vala_type;
9558 #line 9557 "tracker-sparql-expression.c"
9559 }
9560 #line 982 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9561 return result;
9562 #line 9561 "tracker-sparql-expression.c"
9563 }
9564 default:
9565 {
9566 GError* _tmp62_ = NULL;
9567 #line 984 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9568 _tmp62_ = tracker_sparql_expression_get_error (self, "expected string literal");
9569 #line 984 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9570 _inner_error_ = _tmp62_;
9571 #line 984 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9572 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
9573 #line 984 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9574 g_propagate_error (error, _inner_error_);
9575 #line 984 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9576 return NULL;
9577 #line 9576 "tracker-sparql-expression.c"
9578 } else {
9579 #line 984 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9580 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
9581 #line 984 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9582 g_clear_error (&_inner_error_);
9583 #line 984 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9584 return NULL;
9585 #line 9584 "tracker-sparql-expression.c"
9586 }
9587 }
9588 }
9589 #line 915 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9590 if (type) {
9591 #line 915 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9592 *type = _vala_type;
9593 #line 9592 "tracker-sparql-expression.c"
9594 }
9595 }
9596
9597
9598 static TrackerPropertyType tracker_sparql_expression_translate_uri_expression (TrackerSparqlExpression* self, GString* sql, const gchar* uri, GError** error) {
9599 TrackerPropertyType result = 0;
9600 gboolean _tmp0_ = FALSE;
9601 gboolean _tmp1_;
9602 GError * _inner_error_ = NULL;
9603 #line 988 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9604 g_return_val_if_fail (self != NULL, 0);
9605 #line 988 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9606 g_return_val_if_fail (sql != NULL, 0);
9607 #line 988 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9608 g_return_val_if_fail (uri != NULL, 0);
9609 #line 989 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9610 _tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
9611 #line 989 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9612 _tmp1_ = _tmp0_;
9613 #line 989 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9614 if (_inner_error_ != NULL) {
9615 #line 989 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9616 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
9617 #line 989 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9618 g_propagate_error (error, _inner_error_);
9619 #line 989 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9620 return 0;
9621 #line 9620 "tracker-sparql-expression.c"
9622 } else {
9623 #line 989 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9624 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
9625 #line 989 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9626 g_clear_error (&_inner_error_);
9627 #line 989 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9628 return 0;
9629 #line 9628 "tracker-sparql-expression.c"
9630 }
9631 }
9632 #line 989 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9633 if (_tmp1_) {
9634 #line 9633 "tracker-sparql-expression.c"
9635 GString* _tmp2_;
9636 const gchar* _tmp3_;
9637 TrackerPropertyType _tmp4_ = 0;
9638 TrackerPropertyType _result_;
9639 #line 991 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9640 _tmp2_ = sql;
9641 #line 991 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9642 _tmp3_ = uri;
9643 #line 991 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9644 _tmp4_ = tracker_sparql_expression_translate_function (self, _tmp2_, _tmp3_, &_inner_error_);
9645 #line 991 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9646 _result_ = _tmp4_;
9647 #line 991 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9648 if (_inner_error_ != NULL) {
9649 #line 991 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9650 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
9651 #line 991 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9652 g_propagate_error (error, _inner_error_);
9653 #line 991 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9654 return 0;
9655 #line 9654 "tracker-sparql-expression.c"
9656 } else {
9657 #line 991 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9658 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
9659 #line 991 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9660 g_clear_error (&_inner_error_);
9661 #line 991 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9662 return 0;
9663 #line 9662 "tracker-sparql-expression.c"
9664 }
9665 }
9666 #line 992 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9667 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
9668 #line 992 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9669 if (_inner_error_ != NULL) {
9670 #line 992 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9671 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
9672 #line 992 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9673 g_propagate_error (error, _inner_error_);
9674 #line 992 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9675 return 0;
9676 #line 9675 "tracker-sparql-expression.c"
9677 } else {
9678 #line 992 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9679 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
9680 #line 992 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9681 g_clear_error (&_inner_error_);
9682 #line 992 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9683 return 0;
9684 #line 9683 "tracker-sparql-expression.c"
9685 }
9686 }
9687 #line 993 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9688 result = _result_;
9689 #line 993 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9690 return result;
9691 #line 9690 "tracker-sparql-expression.c"
9692 } else {
9693 GString* _tmp5_;
9694 TrackerSparqlLiteralBinding* _tmp6_;
9695 TrackerSparqlLiteralBinding* binding;
9696 TrackerSparqlLiteralBinding* _tmp7_;
9697 const gchar* _tmp8_;
9698 gchar* _tmp9_;
9699 TrackerSparqlQuery* _tmp10_;
9700 TrackerSparqlLiteralBinding* _tmp11_;
9701 TrackerSparqlLiteralBinding* _tmp12_;
9702 #line 996 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9703 _tmp5_ = sql;
9704 #line 996 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9705 g_string_append (_tmp5_, "COALESCE((SELECT ID FROM Resource WHERE Uri = ?), 0)");
9706 #line 997 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9707 _tmp6_ = tracker_sparql_literal_binding_new ();
9708 #line 997 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9709 binding = _tmp6_;
9710 #line 998 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9711 _tmp7_ = binding;
9712 #line 998 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9713 _tmp8_ = uri;
9714 #line 998 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9715 _tmp9_ = g_strdup (_tmp8_);
9716 #line 998 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9717 _g_free0 (_tmp7_->literal);
9718 #line 998 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9719 _tmp7_->literal = _tmp9_;
9720 #line 999 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9721 _tmp10_ = self->priv->query;
9722 #line 999 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9723 _tmp11_ = binding;
9724 #line 999 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9725 _tmp12_ = _g_object_ref0 (_tmp11_);
9726 #line 999 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9727 _tmp10_->bindings = g_list_append (_tmp10_->bindings, _tmp12_);
9728 #line 1000 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9729 result = TRACKER_PROPERTY_TYPE_RESOURCE;
9730 #line 1000 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9731 _g_object_unref0 (binding);
9732 #line 1000 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9733 return result;
9734 #line 9733 "tracker-sparql-expression.c"
9735 }
9736 }
9737
9738
9739 static TrackerPropertyType tracker_sparql_expression_translate_primary_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
9740 TrackerPropertyType result = 0;
9741 TrackerPropertyType type = 0;
9742 TrackerSparqlTokenType _tmp0_ = 0;
9743 GError * _inner_error_ = NULL;
9744 #line 1004 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9745 g_return_val_if_fail (self != NULL, 0);
9746 #line 1004 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9747 g_return_val_if_fail (sql != NULL, 0);
9748 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9749 _tmp0_ = tracker_sparql_expression_current (self);
9750 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9751 switch (_tmp0_) {
9752 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9753 case TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS:
9754 #line 9753 "tracker-sparql-expression.c"
9755 {
9756 GString* _tmp1_;
9757 TrackerPropertyType _tmp2_ = 0;
9758 TrackerPropertyType _tmp3_;
9759 #line 1009 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9760 _tmp1_ = sql;
9761 #line 1009 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9762 _tmp2_ = tracker_sparql_expression_translate_bracketted_expression (self, _tmp1_, &_inner_error_);
9763 #line 1009 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9764 _tmp3_ = _tmp2_;
9765 #line 1009 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9766 if (_inner_error_ != NULL) {
9767 #line 1009 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9768 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
9769 #line 1009 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9770 g_propagate_error (error, _inner_error_);
9771 #line 1009 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9772 return 0;
9773 #line 9772 "tracker-sparql-expression.c"
9774 } else {
9775 #line 1009 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9776 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
9777 #line 1009 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9778 g_clear_error (&_inner_error_);
9779 #line 1009 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9780 return 0;
9781 #line 9780 "tracker-sparql-expression.c"
9782 }
9783 }
9784 #line 1009 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9785 result = _tmp3_;
9786 #line 1009 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9787 return result;
9788 #line 9787 "tracker-sparql-expression.c"
9789 }
9790 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9791 case TRACKER_SPARQL_TOKEN_TYPE_IRI_REF:
9792 #line 9791 "tracker-sparql-expression.c"
9793 {
9794 GString* _tmp4_;
9795 gchar* _tmp5_ = NULL;
9796 gchar* _tmp6_;
9797 TrackerPropertyType _tmp7_ = 0;
9798 TrackerPropertyType _tmp8_;
9799 TrackerPropertyType _tmp9_;
9800 #line 1011 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9801 tracker_sparql_expression_next (self, &_inner_error_);
9802 #line 1011 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9803 if (_inner_error_ != NULL) {
9804 #line 1011 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9805 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
9806 #line 1011 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9807 g_propagate_error (error, _inner_error_);
9808 #line 1011 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9809 return 0;
9810 #line 9809 "tracker-sparql-expression.c"
9811 } else {
9812 #line 1011 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9813 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
9814 #line 1011 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9815 g_clear_error (&_inner_error_);
9816 #line 1011 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9817 return 0;
9818 #line 9817 "tracker-sparql-expression.c"
9819 }
9820 }
9821 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9822 _tmp4_ = sql;
9823 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9824 _tmp5_ = tracker_sparql_expression_get_last_string (self, 1);
9825 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9826 _tmp6_ = _tmp5_;
9827 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9828 _tmp7_ = tracker_sparql_expression_translate_uri_expression (self, _tmp4_, _tmp6_, &_inner_error_);
9829 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9830 _tmp8_ = _tmp7_;
9831 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9832 _g_free0 (_tmp6_);
9833 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9834 _tmp9_ = _tmp8_;
9835 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9836 if (_inner_error_ != NULL) {
9837 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9838 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
9839 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9840 g_propagate_error (error, _inner_error_);
9841 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9842 return 0;
9843 #line 9842 "tracker-sparql-expression.c"
9844 } else {
9845 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9846 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
9847 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9848 g_clear_error (&_inner_error_);
9849 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9850 return 0;
9851 #line 9850 "tracker-sparql-expression.c"
9852 }
9853 }
9854 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9855 result = _tmp9_;
9856 #line 1012 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9857 return result;
9858 #line 9857 "tracker-sparql-expression.c"
9859 }
9860 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9861 case TRACKER_SPARQL_TOKEN_TYPE_DECIMAL:
9862 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9863 case TRACKER_SPARQL_TOKEN_TYPE_DOUBLE:
9864 #line 9863 "tracker-sparql-expression.c"
9865 {
9866 TrackerSparqlQuery* _tmp10_;
9867 gboolean _tmp11_;
9868 gboolean _tmp12_;
9869 #line 1015 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9870 tracker_sparql_expression_next (self, &_inner_error_);
9871 #line 1015 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9872 if (_inner_error_ != NULL) {
9873 #line 1015 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9874 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
9875 #line 1015 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9876 g_propagate_error (error, _inner_error_);
9877 #line 1015 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9878 return 0;
9879 #line 9878 "tracker-sparql-expression.c"
9880 } else {
9881 #line 1015 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9882 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
9883 #line 1015 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9884 g_clear_error (&_inner_error_);
9885 #line 1015 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9886 return 0;
9887 #line 9886 "tracker-sparql-expression.c"
9888 }
9889 }
9890 #line 1017 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9891 _tmp10_ = self->priv->query;
9892 #line 1017 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9893 _tmp11_ = tracker_sparql_query_get_no_cache (_tmp10_);
9894 #line 1017 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9895 _tmp12_ = _tmp11_;
9896 #line 1017 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9897 if (_tmp12_) {
9898 #line 9897 "tracker-sparql-expression.c"
9899 GString* _tmp13_;
9900 gchar* _tmp14_ = NULL;
9901 gchar* _tmp15_;
9902 #line 1018 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9903 _tmp13_ = sql;
9904 #line 1018 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9905 _tmp14_ = tracker_sparql_expression_get_last_string (self, 0);
9906 #line 1018 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9907 _tmp15_ = _tmp14_;
9908 #line 1018 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9909 g_string_append (_tmp13_, _tmp15_);
9910 #line 1018 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9911 _g_free0 (_tmp15_);
9912 #line 9911 "tracker-sparql-expression.c"
9913 } else {
9914 GString* _tmp16_;
9915 TrackerSparqlLiteralBinding* _tmp17_;
9916 TrackerSparqlLiteralBinding* binding;
9917 TrackerSparqlLiteralBinding* _tmp18_;
9918 gchar* _tmp19_ = NULL;
9919 TrackerSparqlQuery* _tmp20_;
9920 TrackerSparqlLiteralBinding* _tmp21_;
9921 TrackerSparqlLiteralBinding* _tmp22_;
9922 #line 1020 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9923 _tmp16_ = sql;
9924 #line 1020 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9925 g_string_append (_tmp16_, "?");
9926 #line 1022 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9927 _tmp17_ = tracker_sparql_literal_binding_new ();
9928 #line 1022 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9929 binding = _tmp17_;
9930 #line 1023 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9931 _tmp18_ = binding;
9932 #line 1023 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9933 _tmp19_ = tracker_sparql_expression_get_last_string (self, 0);
9934 #line 1023 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9935 _g_free0 (_tmp18_->literal);
9936 #line 1023 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9937 _tmp18_->literal = _tmp19_;
9938 #line 1024 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9939 _tmp20_ = self->priv->query;
9940 #line 1024 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9941 _tmp21_ = binding;
9942 #line 1024 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9943 _tmp22_ = _g_object_ref0 (_tmp21_);
9944 #line 1024 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9945 _tmp20_->bindings = g_list_append (_tmp20_->bindings, _tmp22_);
9946 #line 1017 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9947 _g_object_unref0 (binding);
9948 #line 9947 "tracker-sparql-expression.c"
9949 }
9950 #line 1027 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9951 result = TRACKER_PROPERTY_TYPE_DOUBLE;
9952 #line 1027 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9953 return result;
9954 #line 9953 "tracker-sparql-expression.c"
9955 }
9956 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9957 case TRACKER_SPARQL_TOKEN_TYPE_TRUE:
9958 #line 9957 "tracker-sparql-expression.c"
9959 {
9960 TrackerSparqlQuery* _tmp23_;
9961 gboolean _tmp24_;
9962 gboolean _tmp25_;
9963 #line 1029 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9964 tracker_sparql_expression_next (self, &_inner_error_);
9965 #line 1029 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9966 if (_inner_error_ != NULL) {
9967 #line 1029 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9968 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
9969 #line 1029 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9970 g_propagate_error (error, _inner_error_);
9971 #line 1029 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9972 return 0;
9973 #line 9972 "tracker-sparql-expression.c"
9974 } else {
9975 #line 1029 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9976 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
9977 #line 1029 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9978 g_clear_error (&_inner_error_);
9979 #line 1029 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9980 return 0;
9981 #line 9980 "tracker-sparql-expression.c"
9982 }
9983 }
9984 #line 1031 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9985 _tmp23_ = self->priv->query;
9986 #line 1031 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9987 _tmp24_ = tracker_sparql_query_get_no_cache (_tmp23_);
9988 #line 1031 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9989 _tmp25_ = _tmp24_;
9990 #line 1031 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9991 if (_tmp25_) {
9992 #line 9991 "tracker-sparql-expression.c"
9993 GString* _tmp26_;
9994 #line 1032 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9995 _tmp26_ = sql;
9996 #line 1032 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
9997 g_string_append (_tmp26_, "1");
9998 #line 9997 "tracker-sparql-expression.c"
9999 } else {
10000 GString* _tmp27_;
10001 TrackerSparqlLiteralBinding* _tmp28_;
10002 TrackerSparqlLiteralBinding* binding;
10003 TrackerSparqlLiteralBinding* _tmp29_;
10004 gchar* _tmp30_;
10005 TrackerSparqlLiteralBinding* _tmp31_;
10006 TrackerSparqlQuery* _tmp32_;
10007 TrackerSparqlLiteralBinding* _tmp33_;
10008 TrackerSparqlLiteralBinding* _tmp34_;
10009 #line 1034 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10010 _tmp27_ = sql;
10011 #line 1034 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10012 g_string_append (_tmp27_, "?");
10013 #line 1036 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10014 _tmp28_ = tracker_sparql_literal_binding_new ();
10015 #line 1036 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10016 binding = _tmp28_;
10017 #line 1037 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10018 _tmp29_ = binding;
10019 #line 1037 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10020 _tmp30_ = g_strdup ("1");
10021 #line 1037 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10022 _g_free0 (_tmp29_->literal);
10023 #line 1037 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10024 _tmp29_->literal = _tmp30_;
10025 #line 1038 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10026 _tmp31_ = binding;
10027 #line 1038 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10028 ((TrackerSparqlDataBinding*) _tmp31_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
10029 #line 1039 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10030 _tmp32_ = self->priv->query;
10031 #line 1039 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10032 _tmp33_ = binding;
10033 #line 1039 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10034 _tmp34_ = _g_object_ref0 (_tmp33_);
10035 #line 1039 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10036 _tmp32_->bindings = g_list_append (_tmp32_->bindings, _tmp34_);
10037 #line 1031 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10038 _g_object_unref0 (binding);
10039 #line 10038 "tracker-sparql-expression.c"
10040 }
10041 #line 1042 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10042 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
10043 #line 1042 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10044 return result;
10045 #line 10044 "tracker-sparql-expression.c"
10046 }
10047 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10048 case TRACKER_SPARQL_TOKEN_TYPE_FALSE:
10049 #line 10048 "tracker-sparql-expression.c"
10050 {
10051 TrackerSparqlQuery* _tmp35_;
10052 gboolean _tmp36_;
10053 gboolean _tmp37_;
10054 #line 1044 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10055 tracker_sparql_expression_next (self, &_inner_error_);
10056 #line 1044 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10057 if (_inner_error_ != NULL) {
10058 #line 1044 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10059 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10060 #line 1044 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10061 g_propagate_error (error, _inner_error_);
10062 #line 1044 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10063 return 0;
10064 #line 10063 "tracker-sparql-expression.c"
10065 } else {
10066 #line 1044 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10067 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10068 #line 1044 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10069 g_clear_error (&_inner_error_);
10070 #line 1044 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10071 return 0;
10072 #line 10071 "tracker-sparql-expression.c"
10073 }
10074 }
10075 #line 1046 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10076 _tmp35_ = self->priv->query;
10077 #line 1046 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10078 _tmp36_ = tracker_sparql_query_get_no_cache (_tmp35_);
10079 #line 1046 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10080 _tmp37_ = _tmp36_;
10081 #line 1046 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10082 if (_tmp37_) {
10083 #line 10082 "tracker-sparql-expression.c"
10084 GString* _tmp38_;
10085 #line 1047 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10086 _tmp38_ = sql;
10087 #line 1047 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10088 g_string_append (_tmp38_, "0");
10089 #line 10088 "tracker-sparql-expression.c"
10090 } else {
10091 GString* _tmp39_;
10092 TrackerSparqlLiteralBinding* _tmp40_;
10093 TrackerSparqlLiteralBinding* binding;
10094 TrackerSparqlLiteralBinding* _tmp41_;
10095 gchar* _tmp42_;
10096 TrackerSparqlLiteralBinding* _tmp43_;
10097 TrackerSparqlQuery* _tmp44_;
10098 TrackerSparqlLiteralBinding* _tmp45_;
10099 TrackerSparqlLiteralBinding* _tmp46_;
10100 #line 1049 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10101 _tmp39_ = sql;
10102 #line 1049 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10103 g_string_append (_tmp39_, "?");
10104 #line 1051 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10105 _tmp40_ = tracker_sparql_literal_binding_new ();
10106 #line 1051 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10107 binding = _tmp40_;
10108 #line 1052 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10109 _tmp41_ = binding;
10110 #line 1052 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10111 _tmp42_ = g_strdup ("0");
10112 #line 1052 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10113 _g_free0 (_tmp41_->literal);
10114 #line 1052 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10115 _tmp41_->literal = _tmp42_;
10116 #line 1053 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10117 _tmp43_ = binding;
10118 #line 1053 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10119 ((TrackerSparqlDataBinding*) _tmp43_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
10120 #line 1054 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10121 _tmp44_ = self->priv->query;
10122 #line 1054 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10123 _tmp45_ = binding;
10124 #line 1054 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10125 _tmp46_ = _g_object_ref0 (_tmp45_);
10126 #line 1054 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10127 _tmp44_->bindings = g_list_append (_tmp44_->bindings, _tmp46_);
10128 #line 1046 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10129 _g_object_unref0 (binding);
10130 #line 10129 "tracker-sparql-expression.c"
10131 }
10132 #line 1057 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10133 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
10134 #line 1057 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10135 return result;
10136 #line 10135 "tracker-sparql-expression.c"
10137 }
10138 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10139 case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL1:
10140 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10141 case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL2:
10142 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10143 case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG1:
10144 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10145 case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG2:
10146 #line 10145 "tracker-sparql-expression.c"
10147 {
10148 TrackerPropertyType _tmp47_ = 0;
10149 gchar* _tmp48_ = NULL;
10150 gchar* literal;
10151 TrackerPropertyType _tmp49_;
10152 #line 1062 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10153 _tmp48_ = tracker_sparql_expression_parse_string_literal (self, &_tmp47_, &_inner_error_);
10154 #line 1062 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10155 type = _tmp47_;
10156 #line 1062 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10157 literal = _tmp48_;
10158 #line 1062 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10159 if (_inner_error_ != NULL) {
10160 #line 1062 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10161 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10162 #line 1062 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10163 g_propagate_error (error, _inner_error_);
10164 #line 1062 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10165 return 0;
10166 #line 10165 "tracker-sparql-expression.c"
10167 } else {
10168 #line 1062 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10169 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10170 #line 1062 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10171 g_clear_error (&_inner_error_);
10172 #line 1062 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10173 return 0;
10174 #line 10173 "tracker-sparql-expression.c"
10175 }
10176 }
10177 #line 1064 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10178 _tmp49_ = type;
10179 #line 1064 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10180 switch (_tmp49_) {
10181 #line 1064 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10182 case TRACKER_PROPERTY_TYPE_INTEGER:
10183 #line 1064 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10184 case TRACKER_PROPERTY_TYPE_BOOLEAN:
10185 #line 1064 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10186 case TRACKER_PROPERTY_TYPE_DOUBLE:
10187 #line 1064 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10188 case TRACKER_PROPERTY_TYPE_DATE:
10189 #line 1064 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10190 case TRACKER_PROPERTY_TYPE_DATETIME:
10191 #line 10190 "tracker-sparql-expression.c"
10192 {
10193 TrackerSparqlQuery* _tmp50_;
10194 gboolean _tmp51_;
10195 gboolean _tmp52_;
10196 #line 1070 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10197 _tmp50_ = self->priv->query;
10198 #line 1070 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10199 _tmp51_ = tracker_sparql_query_get_no_cache (_tmp50_);
10200 #line 1070 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10201 _tmp52_ = _tmp51_;
10202 #line 1070 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10203 if (_tmp52_) {
10204 #line 10203 "tracker-sparql-expression.c"
10205 GString* _tmp53_;
10206 const gchar* _tmp54_;
10207 gchar* _tmp55_ = NULL;
10208 gchar* _tmp56_;
10209 #line 1071 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10210 _tmp53_ = sql;
10211 #line 1071 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10212 _tmp54_ = literal;
10213 #line 1071 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10214 _tmp55_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp54_);
10215 #line 1071 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10216 _tmp56_ = _tmp55_;
10217 #line 1071 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10218 g_string_append (_tmp53_, _tmp56_);
10219 #line 1071 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10220 _g_free0 (_tmp56_);
10221 #line 10220 "tracker-sparql-expression.c"
10222 } else {
10223 TrackerSparqlLiteralBinding* _tmp57_;
10224 TrackerSparqlLiteralBinding* binding;
10225 TrackerSparqlLiteralBinding* _tmp58_;
10226 const gchar* _tmp59_;
10227 gchar* _tmp60_;
10228 TrackerSparqlLiteralBinding* _tmp61_;
10229 TrackerPropertyType _tmp62_;
10230 TrackerSparqlQuery* _tmp63_;
10231 TrackerSparqlLiteralBinding* _tmp64_;
10232 TrackerSparqlLiteralBinding* _tmp65_;
10233 GString* _tmp66_;
10234 #line 1073 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10235 _tmp57_ = tracker_sparql_literal_binding_new ();
10236 #line 1073 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10237 binding = _tmp57_;
10238 #line 1074 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10239 _tmp58_ = binding;
10240 #line 1074 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10241 _tmp59_ = literal;
10242 #line 1074 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10243 _tmp60_ = g_strdup (_tmp59_);
10244 #line 1074 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10245 _g_free0 (_tmp58_->literal);
10246 #line 1074 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10247 _tmp58_->literal = _tmp60_;
10248 #line 1075 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10249 _tmp61_ = binding;
10250 #line 1075 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10251 _tmp62_ = type;
10252 #line 1075 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10253 ((TrackerSparqlDataBinding*) _tmp61_)->data_type = _tmp62_;
10254 #line 1076 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10255 _tmp63_ = self->priv->query;
10256 #line 1076 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10257 _tmp64_ = binding;
10258 #line 1076 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10259 _tmp65_ = _g_object_ref0 (_tmp64_);
10260 #line 1076 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10261 _tmp63_->bindings = g_list_append (_tmp63_->bindings, _tmp65_);
10262 #line 1077 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10263 _tmp66_ = sql;
10264 #line 1077 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10265 g_string_append (_tmp66_, "?");
10266 #line 1070 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10267 _g_object_unref0 (binding);
10268 #line 10267 "tracker-sparql-expression.c"
10269 }
10270 #line 1079 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10271 result = type;
10272 #line 1079 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10273 _g_free0 (literal);
10274 #line 1079 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10275 return result;
10276 #line 10275 "tracker-sparql-expression.c"
10277 }
10278 default:
10279 {
10280 TrackerSparqlQuery* _tmp67_;
10281 gboolean _tmp68_;
10282 gboolean _tmp69_;
10283 GString* _tmp82_;
10284 #line 1081 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10285 _tmp67_ = self->priv->query;
10286 #line 1081 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10287 _tmp68_ = tracker_sparql_query_get_no_cache (_tmp67_);
10288 #line 1081 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10289 _tmp69_ = _tmp68_;
10290 #line 1081 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10291 if (_tmp69_) {
10292 #line 10291 "tracker-sparql-expression.c"
10293 GString* _tmp70_;
10294 const gchar* _tmp71_;
10295 gchar* _tmp72_ = NULL;
10296 gchar* _tmp73_;
10297 #line 1082 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10298 _tmp70_ = sql;
10299 #line 1082 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10300 _tmp71_ = literal;
10301 #line 1082 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10302 _tmp72_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp71_);
10303 #line 1082 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10304 _tmp73_ = _tmp72_;
10305 #line 1082 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10306 g_string_append (_tmp70_, _tmp73_);
10307 #line 1082 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10308 _g_free0 (_tmp73_);
10309 #line 10308 "tracker-sparql-expression.c"
10310 } else {
10311 TrackerSparqlLiteralBinding* _tmp74_;
10312 TrackerSparqlLiteralBinding* binding;
10313 TrackerSparqlLiteralBinding* _tmp75_;
10314 const gchar* _tmp76_;
10315 gchar* _tmp77_;
10316 TrackerSparqlQuery* _tmp78_;
10317 TrackerSparqlLiteralBinding* _tmp79_;
10318 TrackerSparqlLiteralBinding* _tmp80_;
10319 GString* _tmp81_;
10320 #line 1084 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10321 _tmp74_ = tracker_sparql_literal_binding_new ();
10322 #line 1084 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10323 binding = _tmp74_;
10324 #line 1085 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10325 _tmp75_ = binding;
10326 #line 1085 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10327 _tmp76_ = literal;
10328 #line 1085 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10329 _tmp77_ = g_strdup (_tmp76_);
10330 #line 1085 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10331 _g_free0 (_tmp75_->literal);
10332 #line 1085 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10333 _tmp75_->literal = _tmp77_;
10334 #line 1086 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10335 _tmp78_ = self->priv->query;
10336 #line 1086 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10337 _tmp79_ = binding;
10338 #line 1086 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10339 _tmp80_ = _g_object_ref0 (_tmp79_);
10340 #line 1086 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10341 _tmp78_->bindings = g_list_append (_tmp78_->bindings, _tmp80_);
10342 #line 1087 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10343 _tmp81_ = sql;
10344 #line 1087 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10345 g_string_append (_tmp81_, "?");
10346 #line 1081 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10347 _g_object_unref0 (binding);
10348 #line 10347 "tracker-sparql-expression.c"
10349 }
10350 #line 1089 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10351 _tmp82_ = sql;
10352 #line 1089 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10353 tracker_sparql_expression_append_collate (self, _tmp82_);
10354 #line 1090 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10355 result = TRACKER_PROPERTY_TYPE_STRING;
10356 #line 1090 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10357 _g_free0 (literal);
10358 #line 1090 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10359 return result;
10360 #line 10359 "tracker-sparql-expression.c"
10361 }
10362 }
10363 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10364 _g_free0 (literal);
10365 #line 10364 "tracker-sparql-expression.c"
10366 }
10367 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10368 case TRACKER_SPARQL_TOKEN_TYPE_INTEGER:
10369 #line 10368 "tracker-sparql-expression.c"
10370 {
10371 TrackerSparqlQuery* _tmp83_;
10372 gboolean _tmp84_;
10373 gboolean _tmp85_;
10374 #line 1093 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10375 tracker_sparql_expression_next (self, &_inner_error_);
10376 #line 1093 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10377 if (_inner_error_ != NULL) {
10378 #line 1093 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10379 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10380 #line 1093 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10381 g_propagate_error (error, _inner_error_);
10382 #line 1093 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10383 return 0;
10384 #line 10383 "tracker-sparql-expression.c"
10385 } else {
10386 #line 1093 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10387 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10388 #line 1093 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10389 g_clear_error (&_inner_error_);
10390 #line 1093 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10391 return 0;
10392 #line 10391 "tracker-sparql-expression.c"
10393 }
10394 }
10395 #line 1095 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10396 _tmp83_ = self->priv->query;
10397 #line 1095 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10398 _tmp84_ = tracker_sparql_query_get_no_cache (_tmp83_);
10399 #line 1095 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10400 _tmp85_ = _tmp84_;
10401 #line 1095 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10402 if (_tmp85_) {
10403 #line 10402 "tracker-sparql-expression.c"
10404 GString* _tmp86_;
10405 gchar* _tmp87_ = NULL;
10406 gchar* _tmp88_;
10407 #line 1096 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10408 _tmp86_ = sql;
10409 #line 1096 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10410 _tmp87_ = tracker_sparql_expression_get_last_string (self, 0);
10411 #line 1096 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10412 _tmp88_ = _tmp87_;
10413 #line 1096 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10414 g_string_append (_tmp86_, _tmp88_);
10415 #line 1096 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10416 _g_free0 (_tmp88_);
10417 #line 10416 "tracker-sparql-expression.c"
10418 } else {
10419 GString* _tmp89_;
10420 TrackerSparqlLiteralBinding* _tmp90_;
10421 TrackerSparqlLiteralBinding* binding;
10422 TrackerSparqlLiteralBinding* _tmp91_;
10423 gchar* _tmp92_ = NULL;
10424 TrackerSparqlLiteralBinding* _tmp93_;
10425 TrackerSparqlQuery* _tmp94_;
10426 TrackerSparqlLiteralBinding* _tmp95_;
10427 TrackerSparqlLiteralBinding* _tmp96_;
10428 #line 1098 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10429 _tmp89_ = sql;
10430 #line 1098 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10431 g_string_append (_tmp89_, "?");
10432 #line 1100 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10433 _tmp90_ = tracker_sparql_literal_binding_new ();
10434 #line 1100 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10435 binding = _tmp90_;
10436 #line 1101 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10437 _tmp91_ = binding;
10438 #line 1101 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10439 _tmp92_ = tracker_sparql_expression_get_last_string (self, 0);
10440 #line 1101 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10441 _g_free0 (_tmp91_->literal);
10442 #line 1101 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10443 _tmp91_->literal = _tmp92_;
10444 #line 1102 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10445 _tmp93_ = binding;
10446 #line 1102 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10447 ((TrackerSparqlDataBinding*) _tmp93_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
10448 #line 1103 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10449 _tmp94_ = self->priv->query;
10450 #line 1103 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10451 _tmp95_ = binding;
10452 #line 1103 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10453 _tmp96_ = _g_object_ref0 (_tmp95_);
10454 #line 1103 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10455 _tmp94_->bindings = g_list_append (_tmp94_->bindings, _tmp96_);
10456 #line 1095 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10457 _g_object_unref0 (binding);
10458 #line 10457 "tracker-sparql-expression.c"
10459 }
10460 #line 1106 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10461 result = TRACKER_PROPERTY_TYPE_INTEGER;
10462 #line 1106 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10463 return result;
10464 #line 10463 "tracker-sparql-expression.c"
10465 }
10466 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10467 case TRACKER_SPARQL_TOKEN_TYPE_VAR:
10468 #line 10467 "tracker-sparql-expression.c"
10469 {
10470 gchar* _tmp97_ = NULL;
10471 gchar* _tmp98_;
10472 gchar* _tmp99_ = NULL;
10473 gchar* _tmp100_;
10474 gchar* variable_name;
10475 TrackerSparqlContext* _tmp101_;
10476 TrackerSparqlContext* _tmp102_;
10477 const gchar* _tmp103_;
10478 TrackerSparqlVariable* _tmp104_ = NULL;
10479 TrackerSparqlVariable* _tmp105_;
10480 TrackerSparqlVariable* variable;
10481 GString* _tmp106_;
10482 TrackerSparqlVariable* _tmp107_;
10483 const gchar* _tmp108_;
10484 const gchar* _tmp109_;
10485 TrackerSparqlVariable* _tmp110_;
10486 TrackerSparqlVariableBinding* _tmp111_;
10487 #line 1108 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10488 tracker_sparql_expression_next (self, &_inner_error_);
10489 #line 1108 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10490 if (_inner_error_ != NULL) {
10491 #line 1108 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10492 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10493 #line 1108 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10494 g_propagate_error (error, _inner_error_);
10495 #line 1108 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10496 return 0;
10497 #line 10496 "tracker-sparql-expression.c"
10498 } else {
10499 #line 1108 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10500 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10501 #line 1108 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10502 g_clear_error (&_inner_error_);
10503 #line 1108 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10504 return 0;
10505 #line 10504 "tracker-sparql-expression.c"
10506 }
10507 }
10508 #line 1109 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10509 _tmp97_ = tracker_sparql_expression_get_last_string (self, 0);
10510 #line 1109 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10511 _tmp98_ = _tmp97_;
10512 #line 1109 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10513 _tmp99_ = string_substring (_tmp98_, (glong) 1, (glong) (-1));
10514 #line 1109 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10515 _tmp100_ = _tmp99_;
10516 #line 1109 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10517 _g_free0 (_tmp98_);
10518 #line 1109 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10519 variable_name = _tmp100_;
10520 #line 1110 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10521 _tmp101_ = tracker_sparql_expression_get_context (self);
10522 #line 1110 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10523 _tmp102_ = _tmp101_;
10524 #line 1110 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10525 _tmp103_ = variable_name;
10526 #line 1110 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10527 _tmp104_ = tracker_sparql_context_get_variable (_tmp102_, _tmp103_);
10528 #line 1110 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10529 _tmp105_ = _g_object_ref0 (_tmp104_);
10530 #line 1110 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10531 variable = _tmp105_;
10532 #line 1111 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10533 _tmp106_ = sql;
10534 #line 1111 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10535 _tmp107_ = variable;
10536 #line 1111 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10537 _tmp108_ = tracker_sparql_variable_get_sql_expression (_tmp107_);
10538 #line 1111 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10539 _tmp109_ = _tmp108_;
10540 #line 1111 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10541 g_string_append (_tmp106_, _tmp109_);
10542 #line 1113 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10543 _tmp110_ = variable;
10544 #line 1113 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10545 _tmp111_ = _tmp110_->binding;
10546 #line 1113 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10547 if (_tmp111_ == NULL) {
10548 #line 1114 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10549 result = TRACKER_PROPERTY_TYPE_UNKNOWN;
10550 #line 1114 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10551 _g_object_unref0 (variable);
10552 #line 1114 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10553 _g_free0 (variable_name);
10554 #line 1114 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10555 return result;
10556 #line 10555 "tracker-sparql-expression.c"
10557 } else {
10558 TrackerSparqlVariable* _tmp112_;
10559 TrackerSparqlVariableBinding* _tmp113_;
10560 TrackerPropertyType _tmp114_;
10561 TrackerSparqlVariable* _tmp116_;
10562 TrackerSparqlVariableBinding* _tmp117_;
10563 TrackerPropertyType _tmp118_;
10564 #line 1116 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10565 _tmp112_ = variable;
10566 #line 1116 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10567 _tmp113_ = _tmp112_->binding;
10568 #line 1116 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10569 _tmp114_ = ((TrackerSparqlDataBinding*) _tmp113_)->data_type;
10570 #line 1116 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10571 if (_tmp114_ == TRACKER_PROPERTY_TYPE_STRING) {
10572 #line 10571 "tracker-sparql-expression.c"
10573 GString* _tmp115_;
10574 #line 1117 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10575 _tmp115_ = sql;
10576 #line 1117 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10577 tracker_sparql_expression_append_collate (self, _tmp115_);
10578 #line 10577 "tracker-sparql-expression.c"
10579 }
10580 #line 1119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10581 _tmp116_ = variable;
10582 #line 1119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10583 _tmp117_ = _tmp116_->binding;
10584 #line 1119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10585 _tmp118_ = ((TrackerSparqlDataBinding*) _tmp117_)->data_type;
10586 #line 1119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10587 result = _tmp118_;
10588 #line 1119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10589 _g_object_unref0 (variable);
10590 #line 1119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10591 _g_free0 (variable_name);
10592 #line 1119 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10593 return result;
10594 #line 10593 "tracker-sparql-expression.c"
10595 }
10596 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10597 _g_object_unref0 (variable);
10598 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10599 _g_free0 (variable_name);
10600 #line 10599 "tracker-sparql-expression.c"
10601 }
10602 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10603 case TRACKER_SPARQL_TOKEN_TYPE_STR:
10604 #line 10603 "tracker-sparql-expression.c"
10605 {
10606 GString* _tmp119_;
10607 #line 1122 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10608 _tmp119_ = sql;
10609 #line 1122 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10610 tracker_sparql_expression_translate_str (self, _tmp119_, &_inner_error_);
10611 #line 1122 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10612 if (_inner_error_ != NULL) {
10613 #line 1122 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10614 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10615 #line 1122 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10616 g_propagate_error (error, _inner_error_);
10617 #line 1122 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10618 return 0;
10619 #line 10618 "tracker-sparql-expression.c"
10620 } else {
10621 #line 1122 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10622 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10623 #line 1122 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10624 g_clear_error (&_inner_error_);
10625 #line 1122 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10626 return 0;
10627 #line 10626 "tracker-sparql-expression.c"
10628 }
10629 }
10630 #line 1123 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10631 result = TRACKER_PROPERTY_TYPE_STRING;
10632 #line 1123 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10633 return result;
10634 #line 10633 "tracker-sparql-expression.c"
10635 }
10636 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10637 case TRACKER_SPARQL_TOKEN_TYPE_LANG:
10638 #line 10637 "tracker-sparql-expression.c"
10639 {
10640 GString* _tmp120_;
10641 #line 1125 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10642 tracker_sparql_expression_next (self, &_inner_error_);
10643 #line 1125 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10644 if (_inner_error_ != NULL) {
10645 #line 1125 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10646 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10647 #line 1125 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10648 g_propagate_error (error, _inner_error_);
10649 #line 1125 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10650 return 0;
10651 #line 10650 "tracker-sparql-expression.c"
10652 } else {
10653 #line 1125 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10654 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10655 #line 1125 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10656 g_clear_error (&_inner_error_);
10657 #line 1125 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10658 return 0;
10659 #line 10658 "tracker-sparql-expression.c"
10660 }
10661 }
10662 #line 1126 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10663 _tmp120_ = sql;
10664 #line 1126 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10665 g_string_append (_tmp120_, "''");
10666 #line 1127 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10667 result = TRACKER_PROPERTY_TYPE_STRING;
10668 #line 1127 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10669 return result;
10670 #line 10669 "tracker-sparql-expression.c"
10671 }
10672 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10673 case TRACKER_SPARQL_TOKEN_TYPE_LANGMATCHES:
10674 #line 10673 "tracker-sparql-expression.c"
10675 {
10676 GString* _tmp121_;
10677 #line 1129 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10678 tracker_sparql_expression_next (self, &_inner_error_);
10679 #line 1129 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10680 if (_inner_error_ != NULL) {
10681 #line 1129 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10682 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10683 #line 1129 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10684 g_propagate_error (error, _inner_error_);
10685 #line 1129 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10686 return 0;
10687 #line 10686 "tracker-sparql-expression.c"
10688 } else {
10689 #line 1129 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10690 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10691 #line 1129 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10692 g_clear_error (&_inner_error_);
10693 #line 1129 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10694 return 0;
10695 #line 10694 "tracker-sparql-expression.c"
10696 }
10697 }
10698 #line 1130 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10699 _tmp121_ = sql;
10700 #line 1130 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10701 g_string_append (_tmp121_, "0");
10702 #line 1131 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10703 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
10704 #line 1131 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10705 return result;
10706 #line 10705 "tracker-sparql-expression.c"
10707 }
10708 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10709 case TRACKER_SPARQL_TOKEN_TYPE_DATATYPE:
10710 #line 10709 "tracker-sparql-expression.c"
10711 {
10712 GString* _tmp122_;
10713 #line 1133 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10714 _tmp122_ = sql;
10715 #line 1133 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10716 tracker_sparql_expression_translate_datatype (self, _tmp122_, &_inner_error_);
10717 #line 1133 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10718 if (_inner_error_ != NULL) {
10719 #line 1133 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10720 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10721 #line 1133 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10722 g_propagate_error (error, _inner_error_);
10723 #line 1133 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10724 return 0;
10725 #line 10724 "tracker-sparql-expression.c"
10726 } else {
10727 #line 1133 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10728 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10729 #line 1133 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10730 g_clear_error (&_inner_error_);
10731 #line 1133 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10732 return 0;
10733 #line 10732 "tracker-sparql-expression.c"
10734 }
10735 }
10736 #line 1134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10737 result = TRACKER_PROPERTY_TYPE_RESOURCE;
10738 #line 1134 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10739 return result;
10740 #line 10739 "tracker-sparql-expression.c"
10741 }
10742 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10743 case TRACKER_SPARQL_TOKEN_TYPE_BOUND:
10744 #line 10743 "tracker-sparql-expression.c"
10745 {
10746 GString* _tmp123_;
10747 #line 1136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10748 _tmp123_ = sql;
10749 #line 1136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10750 tracker_sparql_expression_translate_bound_call (self, _tmp123_, &_inner_error_);
10751 #line 1136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10752 if (_inner_error_ != NULL) {
10753 #line 1136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10754 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10755 #line 1136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10756 g_propagate_error (error, _inner_error_);
10757 #line 1136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10758 return 0;
10759 #line 10758 "tracker-sparql-expression.c"
10760 } else {
10761 #line 1136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10762 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10763 #line 1136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10764 g_clear_error (&_inner_error_);
10765 #line 1136 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10766 return 0;
10767 #line 10766 "tracker-sparql-expression.c"
10768 }
10769 }
10770 #line 1137 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10771 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
10772 #line 1137 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10773 return result;
10774 #line 10773 "tracker-sparql-expression.c"
10775 }
10776 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10777 case TRACKER_SPARQL_TOKEN_TYPE_COALESCE:
10778 #line 10777 "tracker-sparql-expression.c"
10779 {
10780 GString* _tmp124_;
10781 TrackerPropertyType _tmp125_ = 0;
10782 TrackerPropertyType _result_;
10783 #line 1139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10784 tracker_sparql_expression_next (self, &_inner_error_);
10785 #line 1139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10786 if (_inner_error_ != NULL) {
10787 #line 1139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10788 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10789 #line 1139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10790 g_propagate_error (error, _inner_error_);
10791 #line 1139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10792 return 0;
10793 #line 10792 "tracker-sparql-expression.c"
10794 } else {
10795 #line 1139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10796 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10797 #line 1139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10798 g_clear_error (&_inner_error_);
10799 #line 1139 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10800 return 0;
10801 #line 10800 "tracker-sparql-expression.c"
10802 }
10803 }
10804 #line 1140 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10805 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
10806 #line 1140 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10807 if (_inner_error_ != NULL) {
10808 #line 1140 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10809 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10810 #line 1140 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10811 g_propagate_error (error, _inner_error_);
10812 #line 1140 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10813 return 0;
10814 #line 10813 "tracker-sparql-expression.c"
10815 } else {
10816 #line 1140 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10817 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10818 #line 1140 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10819 g_clear_error (&_inner_error_);
10820 #line 1140 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10821 return 0;
10822 #line 10821 "tracker-sparql-expression.c"
10823 }
10824 }
10825 #line 1141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10826 _tmp124_ = sql;
10827 #line 1141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10828 _tmp125_ = tracker_sparql_expression_translate_function (self, _tmp124_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "coalesce", &_inner_error_);
10829 #line 1141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10830 _result_ = _tmp125_;
10831 #line 1141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10832 if (_inner_error_ != NULL) {
10833 #line 1141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10834 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10835 #line 1141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10836 g_propagate_error (error, _inner_error_);
10837 #line 1141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10838 return 0;
10839 #line 10838 "tracker-sparql-expression.c"
10840 } else {
10841 #line 1141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10842 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10843 #line 1141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10844 g_clear_error (&_inner_error_);
10845 #line 1141 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10846 return 0;
10847 #line 10846 "tracker-sparql-expression.c"
10848 }
10849 }
10850 #line 1142 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10851 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
10852 #line 1142 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10853 if (_inner_error_ != NULL) {
10854 #line 1142 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10855 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10856 #line 1142 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10857 g_propagate_error (error, _inner_error_);
10858 #line 1142 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10859 return 0;
10860 #line 10859 "tracker-sparql-expression.c"
10861 } else {
10862 #line 1142 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10863 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10864 #line 1142 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10865 g_clear_error (&_inner_error_);
10866 #line 1142 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10867 return 0;
10868 #line 10867 "tracker-sparql-expression.c"
10869 }
10870 }
10871 #line 1143 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10872 result = _result_;
10873 #line 1143 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10874 return result;
10875 #line 10874 "tracker-sparql-expression.c"
10876 }
10877 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10878 case TRACKER_SPARQL_TOKEN_TYPE_IF:
10879 #line 10878 "tracker-sparql-expression.c"
10880 {
10881 GString* _tmp126_;
10882 TrackerPropertyType _tmp127_ = 0;
10883 TrackerPropertyType _tmp128_;
10884 #line 1145 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10885 _tmp126_ = sql;
10886 #line 1145 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10887 _tmp127_ = tracker_sparql_expression_translate_if_call (self, _tmp126_, &_inner_error_);
10888 #line 1145 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10889 _tmp128_ = _tmp127_;
10890 #line 1145 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10891 if (_inner_error_ != NULL) {
10892 #line 1145 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10893 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10894 #line 1145 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10895 g_propagate_error (error, _inner_error_);
10896 #line 1145 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10897 return 0;
10898 #line 10897 "tracker-sparql-expression.c"
10899 } else {
10900 #line 1145 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10901 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10902 #line 1145 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10903 g_clear_error (&_inner_error_);
10904 #line 1145 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10905 return 0;
10906 #line 10905 "tracker-sparql-expression.c"
10907 }
10908 }
10909 #line 1145 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10910 result = _tmp128_;
10911 #line 1145 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10912 return result;
10913 #line 10912 "tracker-sparql-expression.c"
10914 }
10915 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10916 case TRACKER_SPARQL_TOKEN_TYPE_SAMETERM:
10917 #line 10916 "tracker-sparql-expression.c"
10918 {
10919 GString* _tmp129_;
10920 GString* _tmp130_;
10921 GString* _tmp131_;
10922 GString* _tmp132_;
10923 GString* _tmp133_;
10924 #line 1147 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10925 tracker_sparql_expression_next (self, &_inner_error_);
10926 #line 1147 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10927 if (_inner_error_ != NULL) {
10928 #line 1147 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10929 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10930 #line 1147 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10931 g_propagate_error (error, _inner_error_);
10932 #line 1147 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10933 return 0;
10934 #line 10933 "tracker-sparql-expression.c"
10935 } else {
10936 #line 1147 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10937 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10938 #line 1147 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10939 g_clear_error (&_inner_error_);
10940 #line 1147 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10941 return 0;
10942 #line 10941 "tracker-sparql-expression.c"
10943 }
10944 }
10945 #line 1148 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10946 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
10947 #line 1148 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10948 if (_inner_error_ != NULL) {
10949 #line 1148 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10950 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10951 #line 1148 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10952 g_propagate_error (error, _inner_error_);
10953 #line 1148 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10954 return 0;
10955 #line 10954 "tracker-sparql-expression.c"
10956 } else {
10957 #line 1148 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10958 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10959 #line 1148 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10960 g_clear_error (&_inner_error_);
10961 #line 1148 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10962 return 0;
10963 #line 10962 "tracker-sparql-expression.c"
10964 }
10965 }
10966 #line 1149 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10967 _tmp129_ = sql;
10968 #line 1149 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10969 g_string_append (_tmp129_, "(");
10970 #line 1150 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10971 _tmp130_ = sql;
10972 #line 1150 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10973 tracker_sparql_expression_translate_expression (self, _tmp130_, &_inner_error_);
10974 #line 1150 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10975 if (_inner_error_ != NULL) {
10976 #line 1150 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10977 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
10978 #line 1150 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10979 g_propagate_error (error, _inner_error_);
10980 #line 1150 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10981 return 0;
10982 #line 10981 "tracker-sparql-expression.c"
10983 } else {
10984 #line 1150 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10985 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
10986 #line 1150 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10987 g_clear_error (&_inner_error_);
10988 #line 1150 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10989 return 0;
10990 #line 10989 "tracker-sparql-expression.c"
10991 }
10992 }
10993 #line 1151 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10994 _tmp131_ = sql;
10995 #line 1151 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10996 g_string_append (_tmp131_, " = ");
10997 #line 1152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
10998 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
10999 #line 1152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11000 if (_inner_error_ != NULL) {
11001 #line 1152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11002 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11003 #line 1152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11004 g_propagate_error (error, _inner_error_);
11005 #line 1152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11006 return 0;
11007 #line 11006 "tracker-sparql-expression.c"
11008 } else {
11009 #line 1152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11010 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11011 #line 1152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11012 g_clear_error (&_inner_error_);
11013 #line 1152 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11014 return 0;
11015 #line 11014 "tracker-sparql-expression.c"
11016 }
11017 }
11018 #line 1153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11019 _tmp132_ = sql;
11020 #line 1153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11021 tracker_sparql_expression_translate_expression (self, _tmp132_, &_inner_error_);
11022 #line 1153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11023 if (_inner_error_ != NULL) {
11024 #line 1153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11025 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11026 #line 1153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11027 g_propagate_error (error, _inner_error_);
11028 #line 1153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11029 return 0;
11030 #line 11029 "tracker-sparql-expression.c"
11031 } else {
11032 #line 1153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11033 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11034 #line 1153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11035 g_clear_error (&_inner_error_);
11036 #line 1153 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11037 return 0;
11038 #line 11037 "tracker-sparql-expression.c"
11039 }
11040 }
11041 #line 1154 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11042 _tmp133_ = sql;
11043 #line 1154 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11044 g_string_append (_tmp133_, ")");
11045 #line 1155 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11046 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
11047 #line 1155 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11048 if (_inner_error_ != NULL) {
11049 #line 1155 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11050 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11051 #line 1155 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11052 g_propagate_error (error, _inner_error_);
11053 #line 1155 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11054 return 0;
11055 #line 11054 "tracker-sparql-expression.c"
11056 } else {
11057 #line 1155 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11058 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11059 #line 1155 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11060 g_clear_error (&_inner_error_);
11061 #line 1155 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11062 return 0;
11063 #line 11062 "tracker-sparql-expression.c"
11064 }
11065 }
11066 #line 1156 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11067 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
11068 #line 1156 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11069 return result;
11070 #line 11069 "tracker-sparql-expression.c"
11071 }
11072 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11073 case TRACKER_SPARQL_TOKEN_TYPE_ISIRI:
11074 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11075 case TRACKER_SPARQL_TOKEN_TYPE_ISURI:
11076 #line 11075 "tracker-sparql-expression.c"
11077 {
11078 GString* _tmp134_;
11079 #line 1159 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11080 _tmp134_ = sql;
11081 #line 1159 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11082 tracker_sparql_expression_translate_isuri (self, _tmp134_, &_inner_error_);
11083 #line 1159 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11084 if (_inner_error_ != NULL) {
11085 #line 1159 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11086 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11087 #line 1159 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11088 g_propagate_error (error, _inner_error_);
11089 #line 1159 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11090 return 0;
11091 #line 11090 "tracker-sparql-expression.c"
11092 } else {
11093 #line 1159 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11094 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11095 #line 1159 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11096 g_clear_error (&_inner_error_);
11097 #line 1159 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11098 return 0;
11099 #line 11098 "tracker-sparql-expression.c"
11100 }
11101 }
11102 #line 1160 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11103 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
11104 #line 1160 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11105 return result;
11106 #line 11105 "tracker-sparql-expression.c"
11107 }
11108 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11109 case TRACKER_SPARQL_TOKEN_TYPE_ISBLANK:
11110 #line 11109 "tracker-sparql-expression.c"
11111 {
11112 GString* _tmp135_;
11113 #line 1162 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11114 tracker_sparql_expression_next (self, &_inner_error_);
11115 #line 1162 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11116 if (_inner_error_ != NULL) {
11117 #line 1162 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11118 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11119 #line 1162 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11120 g_propagate_error (error, _inner_error_);
11121 #line 1162 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11122 return 0;
11123 #line 11122 "tracker-sparql-expression.c"
11124 } else {
11125 #line 1162 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11126 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11127 #line 1162 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11128 g_clear_error (&_inner_error_);
11129 #line 1162 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11130 return 0;
11131 #line 11130 "tracker-sparql-expression.c"
11132 }
11133 }
11134 #line 1163 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11135 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
11136 #line 1163 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11137 if (_inner_error_ != NULL) {
11138 #line 1163 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11139 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11140 #line 1163 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11141 g_propagate_error (error, _inner_error_);
11142 #line 1163 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11143 return 0;
11144 #line 11143 "tracker-sparql-expression.c"
11145 } else {
11146 #line 1163 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11147 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11148 #line 1163 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11149 g_clear_error (&_inner_error_);
11150 #line 1163 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11151 return 0;
11152 #line 11151 "tracker-sparql-expression.c"
11153 }
11154 }
11155 #line 1164 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11156 tracker_sparql_expression_next (self, &_inner_error_);
11157 #line 1164 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11158 if (_inner_error_ != NULL) {
11159 #line 1164 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11160 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11161 #line 1164 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11162 g_propagate_error (error, _inner_error_);
11163 #line 1164 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11164 return 0;
11165 #line 11164 "tracker-sparql-expression.c"
11166 } else {
11167 #line 1164 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11168 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11169 #line 1164 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11170 g_clear_error (&_inner_error_);
11171 #line 1164 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11172 return 0;
11173 #line 11172 "tracker-sparql-expression.c"
11174 }
11175 }
11176 #line 1166 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11177 _tmp135_ = sql;
11178 #line 1166 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11179 g_string_append (_tmp135_, "0");
11180 #line 1167 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11181 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
11182 #line 1167 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11183 if (_inner_error_ != NULL) {
11184 #line 1167 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11185 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11186 #line 1167 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11187 g_propagate_error (error, _inner_error_);
11188 #line 1167 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11189 return 0;
11190 #line 11189 "tracker-sparql-expression.c"
11191 } else {
11192 #line 1167 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11193 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11194 #line 1167 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11195 g_clear_error (&_inner_error_);
11196 #line 1167 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11197 return 0;
11198 #line 11197 "tracker-sparql-expression.c"
11199 }
11200 }
11201 #line 1168 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11202 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
11203 #line 1168 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11204 return result;
11205 #line 11204 "tracker-sparql-expression.c"
11206 }
11207 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11208 case TRACKER_SPARQL_TOKEN_TYPE_ISLITERAL:
11209 #line 11208 "tracker-sparql-expression.c"
11210 {
11211 #line 1170 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11212 tracker_sparql_expression_next (self, &_inner_error_);
11213 #line 1170 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11214 if (_inner_error_ != NULL) {
11215 #line 1170 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11216 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11217 #line 1170 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11218 g_propagate_error (error, _inner_error_);
11219 #line 1170 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11220 return 0;
11221 #line 11220 "tracker-sparql-expression.c"
11222 } else {
11223 #line 1170 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11224 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11225 #line 1170 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11226 g_clear_error (&_inner_error_);
11227 #line 1170 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11228 return 0;
11229 #line 11228 "tracker-sparql-expression.c"
11230 }
11231 }
11232 #line 1171 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11233 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
11234 #line 1171 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11235 return result;
11236 #line 11235 "tracker-sparql-expression.c"
11237 }
11238 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11239 case TRACKER_SPARQL_TOKEN_TYPE_REGEX:
11240 #line 11239 "tracker-sparql-expression.c"
11241 {
11242 GString* _tmp136_;
11243 TrackerSparqlQuery* _tmp137_;
11244 #line 1173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11245 _tmp136_ = sql;
11246 #line 1173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11247 tracker_sparql_expression_translate_regex (self, _tmp136_, &_inner_error_);
11248 #line 1173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11249 if (_inner_error_ != NULL) {
11250 #line 1173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11251 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11252 #line 1173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11253 g_propagate_error (error, _inner_error_);
11254 #line 1173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11255 return 0;
11256 #line 11255 "tracker-sparql-expression.c"
11257 } else {
11258 #line 1173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11259 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11260 #line 1173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11261 g_clear_error (&_inner_error_);
11262 #line 1173 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11263 return 0;
11264 #line 11263 "tracker-sparql-expression.c"
11265 }
11266 }
11267 #line 1174 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11268 _tmp137_ = self->priv->query;
11269 #line 1174 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11270 tracker_sparql_query_set_no_cache (_tmp137_, TRUE);
11271 #line 1175 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11272 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
11273 #line 1175 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11274 return result;
11275 #line 11274 "tracker-sparql-expression.c"
11276 }
11277 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11278 case TRACKER_SPARQL_TOKEN_TYPE_EXISTS:
11279 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11280 case TRACKER_SPARQL_TOKEN_TYPE_NOT:
11281 #line 11280 "tracker-sparql-expression.c"
11282 {
11283 GString* _tmp138_;
11284 #line 1178 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11285 _tmp138_ = sql;
11286 #line 1178 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11287 tracker_sparql_expression_translate_exists (self, _tmp138_, &_inner_error_);
11288 #line 1178 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11289 if (_inner_error_ != NULL) {
11290 #line 1178 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11291 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11292 #line 1178 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11293 g_propagate_error (error, _inner_error_);
11294 #line 1178 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11295 return 0;
11296 #line 11295 "tracker-sparql-expression.c"
11297 } else {
11298 #line 1178 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11299 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11300 #line 1178 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11301 g_clear_error (&_inner_error_);
11302 #line 1178 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11303 return 0;
11304 #line 11303 "tracker-sparql-expression.c"
11305 }
11306 }
11307 #line 1179 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11308 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
11309 #line 1179 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11310 return result;
11311 #line 11310 "tracker-sparql-expression.c"
11312 }
11313 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11314 case TRACKER_SPARQL_TOKEN_TYPE_COUNT:
11315 #line 11314 "tracker-sparql-expression.c"
11316 {
11317 GString* _tmp139_;
11318 GString* _tmp140_;
11319 GString* _tmp141_;
11320 #line 1181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11321 tracker_sparql_expression_next (self, &_inner_error_);
11322 #line 1181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11323 if (_inner_error_ != NULL) {
11324 #line 1181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11325 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11326 #line 1181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11327 g_propagate_error (error, _inner_error_);
11328 #line 1181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11329 return 0;
11330 #line 11329 "tracker-sparql-expression.c"
11331 } else {
11332 #line 1181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11333 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11334 #line 1181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11335 g_clear_error (&_inner_error_);
11336 #line 1181 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11337 return 0;
11338 #line 11337 "tracker-sparql-expression.c"
11339 }
11340 }
11341 #line 1182 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11342 _tmp139_ = sql;
11343 #line 1182 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11344 g_string_append (_tmp139_, "COUNT(");
11345 #line 1183 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11346 _tmp140_ = sql;
11347 #line 1183 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11348 tracker_sparql_expression_translate_aggregate_expression (self, _tmp140_, &_inner_error_);
11349 #line 1183 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11350 if (_inner_error_ != NULL) {
11351 #line 1183 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11352 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11353 #line 1183 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11354 g_propagate_error (error, _inner_error_);
11355 #line 1183 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11356 return 0;
11357 #line 11356 "tracker-sparql-expression.c"
11358 } else {
11359 #line 1183 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11360 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11361 #line 1183 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11362 g_clear_error (&_inner_error_);
11363 #line 1183 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11364 return 0;
11365 #line 11364 "tracker-sparql-expression.c"
11366 }
11367 }
11368 #line 1184 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11369 _tmp141_ = sql;
11370 #line 1184 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11371 g_string_append (_tmp141_, ")");
11372 #line 1185 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11373 result = TRACKER_PROPERTY_TYPE_INTEGER;
11374 #line 1185 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11375 return result;
11376 #line 11375 "tracker-sparql-expression.c"
11377 }
11378 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11379 case TRACKER_SPARQL_TOKEN_TYPE_SUM:
11380 #line 11379 "tracker-sparql-expression.c"
11381 {
11382 GString* _tmp142_;
11383 GString* _tmp143_;
11384 TrackerPropertyType _tmp144_ = 0;
11385 TrackerPropertyType _tmp145_;
11386 GString* _tmp146_;
11387 #line 1187 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11388 tracker_sparql_expression_next (self, &_inner_error_);
11389 #line 1187 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11390 if (_inner_error_ != NULL) {
11391 #line 1187 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11392 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11393 #line 1187 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11394 g_propagate_error (error, _inner_error_);
11395 #line 1187 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11396 return 0;
11397 #line 11396 "tracker-sparql-expression.c"
11398 } else {
11399 #line 1187 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11400 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11401 #line 1187 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11402 g_clear_error (&_inner_error_);
11403 #line 1187 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11404 return 0;
11405 #line 11404 "tracker-sparql-expression.c"
11406 }
11407 }
11408 #line 1188 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11409 _tmp142_ = sql;
11410 #line 1188 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11411 g_string_append (_tmp142_, "SUM(");
11412 #line 1189 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11413 _tmp143_ = sql;
11414 #line 1189 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11415 _tmp144_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp143_, &_inner_error_);
11416 #line 1189 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11417 _tmp145_ = _tmp144_;
11418 #line 1189 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11419 if (_inner_error_ != NULL) {
11420 #line 1189 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11421 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11422 #line 1189 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11423 g_propagate_error (error, _inner_error_);
11424 #line 1189 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11425 return 0;
11426 #line 11425 "tracker-sparql-expression.c"
11427 } else {
11428 #line 1189 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11429 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11430 #line 1189 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11431 g_clear_error (&_inner_error_);
11432 #line 1189 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11433 return 0;
11434 #line 11433 "tracker-sparql-expression.c"
11435 }
11436 }
11437 #line 1189 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11438 type = _tmp145_;
11439 #line 1190 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11440 _tmp146_ = sql;
11441 #line 1190 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11442 g_string_append (_tmp146_, ")");
11443 #line 1191 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11444 result = type;
11445 #line 1191 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11446 return result;
11447 #line 11446 "tracker-sparql-expression.c"
11448 }
11449 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11450 case TRACKER_SPARQL_TOKEN_TYPE_AVG:
11451 #line 11450 "tracker-sparql-expression.c"
11452 {
11453 GString* _tmp147_;
11454 GString* _tmp148_;
11455 TrackerPropertyType _tmp149_ = 0;
11456 TrackerPropertyType _tmp150_;
11457 GString* _tmp151_;
11458 #line 1193 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11459 tracker_sparql_expression_next (self, &_inner_error_);
11460 #line 1193 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11461 if (_inner_error_ != NULL) {
11462 #line 1193 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11463 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11464 #line 1193 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11465 g_propagate_error (error, _inner_error_);
11466 #line 1193 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11467 return 0;
11468 #line 11467 "tracker-sparql-expression.c"
11469 } else {
11470 #line 1193 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11471 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11472 #line 1193 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11473 g_clear_error (&_inner_error_);
11474 #line 1193 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11475 return 0;
11476 #line 11475 "tracker-sparql-expression.c"
11477 }
11478 }
11479 #line 1194 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11480 _tmp147_ = sql;
11481 #line 1194 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11482 g_string_append (_tmp147_, "AVG(");
11483 #line 1195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11484 _tmp148_ = sql;
11485 #line 1195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11486 _tmp149_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp148_, &_inner_error_);
11487 #line 1195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11488 _tmp150_ = _tmp149_;
11489 #line 1195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11490 if (_inner_error_ != NULL) {
11491 #line 1195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11492 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11493 #line 1195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11494 g_propagate_error (error, _inner_error_);
11495 #line 1195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11496 return 0;
11497 #line 11496 "tracker-sparql-expression.c"
11498 } else {
11499 #line 1195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11500 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11501 #line 1195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11502 g_clear_error (&_inner_error_);
11503 #line 1195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11504 return 0;
11505 #line 11504 "tracker-sparql-expression.c"
11506 }
11507 }
11508 #line 1195 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11509 type = _tmp150_;
11510 #line 1196 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11511 _tmp151_ = sql;
11512 #line 1196 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11513 g_string_append (_tmp151_, ")");
11514 #line 1197 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11515 result = type;
11516 #line 1197 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11517 return result;
11518 #line 11517 "tracker-sparql-expression.c"
11519 }
11520 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11521 case TRACKER_SPARQL_TOKEN_TYPE_MIN:
11522 #line 11521 "tracker-sparql-expression.c"
11523 {
11524 GString* _tmp152_;
11525 GString* _tmp153_;
11526 TrackerPropertyType _tmp154_ = 0;
11527 TrackerPropertyType _tmp155_;
11528 GString* _tmp156_;
11529 #line 1199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11530 tracker_sparql_expression_next (self, &_inner_error_);
11531 #line 1199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11532 if (_inner_error_ != NULL) {
11533 #line 1199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11534 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11535 #line 1199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11536 g_propagate_error (error, _inner_error_);
11537 #line 1199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11538 return 0;
11539 #line 11538 "tracker-sparql-expression.c"
11540 } else {
11541 #line 1199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11542 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11543 #line 1199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11544 g_clear_error (&_inner_error_);
11545 #line 1199 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11546 return 0;
11547 #line 11546 "tracker-sparql-expression.c"
11548 }
11549 }
11550 #line 1200 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11551 _tmp152_ = sql;
11552 #line 1200 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11553 g_string_append (_tmp152_, "MIN(");
11554 #line 1201 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11555 _tmp153_ = sql;
11556 #line 1201 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11557 _tmp154_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp153_, &_inner_error_);
11558 #line 1201 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11559 _tmp155_ = _tmp154_;
11560 #line 1201 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11561 if (_inner_error_ != NULL) {
11562 #line 1201 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11563 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11564 #line 1201 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11565 g_propagate_error (error, _inner_error_);
11566 #line 1201 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11567 return 0;
11568 #line 11567 "tracker-sparql-expression.c"
11569 } else {
11570 #line 1201 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11571 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11572 #line 1201 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11573 g_clear_error (&_inner_error_);
11574 #line 1201 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11575 return 0;
11576 #line 11575 "tracker-sparql-expression.c"
11577 }
11578 }
11579 #line 1201 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11580 type = _tmp155_;
11581 #line 1202 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11582 _tmp156_ = sql;
11583 #line 1202 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11584 g_string_append (_tmp156_, ")");
11585 #line 1203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11586 result = type;
11587 #line 1203 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11588 return result;
11589 #line 11588 "tracker-sparql-expression.c"
11590 }
11591 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11592 case TRACKER_SPARQL_TOKEN_TYPE_MAX:
11593 #line 11592 "tracker-sparql-expression.c"
11594 {
11595 GString* _tmp157_;
11596 GString* _tmp158_;
11597 TrackerPropertyType _tmp159_ = 0;
11598 TrackerPropertyType _tmp160_;
11599 GString* _tmp161_;
11600 #line 1205 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11601 tracker_sparql_expression_next (self, &_inner_error_);
11602 #line 1205 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11603 if (_inner_error_ != NULL) {
11604 #line 1205 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11605 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11606 #line 1205 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11607 g_propagate_error (error, _inner_error_);
11608 #line 1205 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11609 return 0;
11610 #line 11609 "tracker-sparql-expression.c"
11611 } else {
11612 #line 1205 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11613 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11614 #line 1205 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11615 g_clear_error (&_inner_error_);
11616 #line 1205 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11617 return 0;
11618 #line 11617 "tracker-sparql-expression.c"
11619 }
11620 }
11621 #line 1206 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11622 _tmp157_ = sql;
11623 #line 1206 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11624 g_string_append (_tmp157_, "MAX(");
11625 #line 1207 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11626 _tmp158_ = sql;
11627 #line 1207 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11628 _tmp159_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp158_, &_inner_error_);
11629 #line 1207 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11630 _tmp160_ = _tmp159_;
11631 #line 1207 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11632 if (_inner_error_ != NULL) {
11633 #line 1207 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11634 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11635 #line 1207 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11636 g_propagate_error (error, _inner_error_);
11637 #line 1207 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11638 return 0;
11639 #line 11638 "tracker-sparql-expression.c"
11640 } else {
11641 #line 1207 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11642 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11643 #line 1207 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11644 g_clear_error (&_inner_error_);
11645 #line 1207 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11646 return 0;
11647 #line 11646 "tracker-sparql-expression.c"
11648 }
11649 }
11650 #line 1207 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11651 type = _tmp160_;
11652 #line 1208 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11653 _tmp161_ = sql;
11654 #line 1208 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11655 g_string_append (_tmp161_, ")");
11656 #line 1209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11657 result = type;
11658 #line 1209 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11659 return result;
11660 #line 11659 "tracker-sparql-expression.c"
11661 }
11662 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11663 case TRACKER_SPARQL_TOKEN_TYPE_GROUP_CONCAT:
11664 #line 11663 "tracker-sparql-expression.c"
11665 {
11666 GString* _tmp162_;
11667 GString* _tmp163_;
11668 GString* _tmp164_;
11669 gchar* _tmp165_ = NULL;
11670 gchar* _tmp166_;
11671 GString* _tmp167_;
11672 gchar* _tmp168_;
11673 gchar* _tmp169_ = NULL;
11674 gchar* _tmp170_;
11675 GString* _tmp171_;
11676 #line 1211 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11677 tracker_sparql_expression_next (self, &_inner_error_);
11678 #line 1211 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11679 if (_inner_error_ != NULL) {
11680 #line 1211 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11681 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11682 #line 1211 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11683 g_propagate_error (error, _inner_error_);
11684 #line 1211 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11685 return 0;
11686 #line 11685 "tracker-sparql-expression.c"
11687 } else {
11688 #line 1211 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11689 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11690 #line 1211 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11691 g_clear_error (&_inner_error_);
11692 #line 1211 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11693 return 0;
11694 #line 11693 "tracker-sparql-expression.c"
11695 }
11696 }
11697 #line 1212 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11698 _tmp162_ = sql;
11699 #line 1212 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11700 g_string_append (_tmp162_, "GROUP_CONCAT(");
11701 #line 1213 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11702 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
11703 #line 1213 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11704 if (_inner_error_ != NULL) {
11705 #line 1213 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11706 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11707 #line 1213 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11708 g_propagate_error (error, _inner_error_);
11709 #line 1213 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11710 return 0;
11711 #line 11710 "tracker-sparql-expression.c"
11712 } else {
11713 #line 1213 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11714 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11715 #line 1213 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11716 g_clear_error (&_inner_error_);
11717 #line 1213 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11718 return 0;
11719 #line 11718 "tracker-sparql-expression.c"
11720 }
11721 }
11722 #line 1214 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11723 _tmp163_ = sql;
11724 #line 1214 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11725 tracker_sparql_expression_translate_expression_as_string (self, _tmp163_, &_inner_error_);
11726 #line 1214 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11727 if (_inner_error_ != NULL) {
11728 #line 1214 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11729 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11730 #line 1214 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11731 g_propagate_error (error, _inner_error_);
11732 #line 1214 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11733 return 0;
11734 #line 11733 "tracker-sparql-expression.c"
11735 } else {
11736 #line 1214 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11737 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11738 #line 1214 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11739 g_clear_error (&_inner_error_);
11740 #line 1214 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11741 return 0;
11742 #line 11741 "tracker-sparql-expression.c"
11743 }
11744 }
11745 #line 1215 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11746 _tmp164_ = sql;
11747 #line 1215 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11748 g_string_append (_tmp164_, ", ");
11749 #line 1216 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11750 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
11751 #line 1216 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11752 if (_inner_error_ != NULL) {
11753 #line 1216 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11754 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11755 #line 1216 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11756 g_propagate_error (error, _inner_error_);
11757 #line 1216 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11758 return 0;
11759 #line 11758 "tracker-sparql-expression.c"
11760 } else {
11761 #line 1216 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11762 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11763 #line 1216 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11764 g_clear_error (&_inner_error_);
11765 #line 1216 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11766 return 0;
11767 #line 11766 "tracker-sparql-expression.c"
11768 }
11769 }
11770 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11771 _tmp165_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
11772 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11773 _tmp166_ = _tmp165_;
11774 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11775 if (_inner_error_ != NULL) {
11776 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11777 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11778 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11779 g_propagate_error (error, _inner_error_);
11780 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11781 return 0;
11782 #line 11781 "tracker-sparql-expression.c"
11783 } else {
11784 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11785 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11786 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11787 g_clear_error (&_inner_error_);
11788 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11789 return 0;
11790 #line 11789 "tracker-sparql-expression.c"
11791 }
11792 }
11793 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11794 _tmp167_ = sql;
11795 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11796 _tmp168_ = _tmp166_;
11797 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11798 _tmp169_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp168_);
11799 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11800 _tmp170_ = _tmp169_;
11801 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11802 g_string_append (_tmp167_, _tmp170_);
11803 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11804 _g_free0 (_tmp170_);
11805 #line 1217 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11806 _g_free0 (_tmp168_);
11807 #line 1218 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11808 _tmp171_ = sql;
11809 #line 1218 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11810 g_string_append (_tmp171_, ")");
11811 #line 1219 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11812 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
11813 #line 1219 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11814 if (_inner_error_ != NULL) {
11815 #line 1219 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11816 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11817 #line 1219 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11818 g_propagate_error (error, _inner_error_);
11819 #line 1219 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11820 return 0;
11821 #line 11820 "tracker-sparql-expression.c"
11822 } else {
11823 #line 1219 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11824 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11825 #line 1219 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11826 g_clear_error (&_inner_error_);
11827 #line 1219 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11828 return 0;
11829 #line 11828 "tracker-sparql-expression.c"
11830 }
11831 }
11832 #line 1220 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11833 result = TRACKER_PROPERTY_TYPE_STRING;
11834 #line 1220 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11835 return result;
11836 #line 11835 "tracker-sparql-expression.c"
11837 }
11838 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11839 case TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX:
11840 #line 11839 "tracker-sparql-expression.c"
11841 {
11842 gchar* _tmp172_ = NULL;
11843 gchar* ns;
11844 TrackerSparqlQuery* _tmp173_;
11845 const gchar* _tmp174_;
11846 gchar* _tmp175_ = NULL;
11847 gchar* _tmp176_;
11848 gchar* _tmp177_ = NULL;
11849 gchar* _tmp178_;
11850 gchar* _tmp179_ = NULL;
11851 gchar* _tmp180_;
11852 gchar* uri;
11853 GString* _tmp181_;
11854 const gchar* _tmp182_;
11855 TrackerPropertyType _tmp183_ = 0;
11856 TrackerPropertyType _tmp184_;
11857 #line 1222 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11858 tracker_sparql_expression_next (self, &_inner_error_);
11859 #line 1222 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11860 if (_inner_error_ != NULL) {
11861 #line 1222 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11862 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11863 #line 1222 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11864 g_propagate_error (error, _inner_error_);
11865 #line 1222 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11866 return 0;
11867 #line 11866 "tracker-sparql-expression.c"
11868 } else {
11869 #line 1222 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11870 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11871 #line 1222 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11872 g_clear_error (&_inner_error_);
11873 #line 1222 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11874 return 0;
11875 #line 11874 "tracker-sparql-expression.c"
11876 }
11877 }
11878 #line 1223 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11879 _tmp172_ = tracker_sparql_expression_get_last_string (self, 0);
11880 #line 1223 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11881 ns = _tmp172_;
11882 #line 1224 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11883 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COLON, &_inner_error_);
11884 #line 1224 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11885 if (_inner_error_ != NULL) {
11886 #line 1224 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11887 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11888 #line 1224 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11889 g_propagate_error (error, _inner_error_);
11890 #line 1224 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11891 _g_free0 (ns);
11892 #line 1224 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11893 return 0;
11894 #line 11893 "tracker-sparql-expression.c"
11895 } else {
11896 #line 1224 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11897 _g_free0 (ns);
11898 #line 1224 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11899 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11900 #line 1224 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11901 g_clear_error (&_inner_error_);
11902 #line 1224 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11903 return 0;
11904 #line 11903 "tracker-sparql-expression.c"
11905 }
11906 }
11907 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11908 _tmp173_ = self->priv->query;
11909 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11910 _tmp174_ = ns;
11911 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11912 _tmp175_ = tracker_sparql_expression_get_last_string (self, 0);
11913 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11914 _tmp176_ = _tmp175_;
11915 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11916 _tmp177_ = string_substring (_tmp176_, (glong) 1, (glong) (-1));
11917 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11918 _tmp178_ = _tmp177_;
11919 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11920 _tmp179_ = tracker_sparql_query_resolve_prefixed_name (_tmp173_, _tmp174_, _tmp178_, &_inner_error_);
11921 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11922 _tmp180_ = _tmp179_;
11923 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11924 _g_free0 (_tmp178_);
11925 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11926 _g_free0 (_tmp176_);
11927 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11928 uri = _tmp180_;
11929 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11930 if (_inner_error_ != NULL) {
11931 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11932 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11933 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11934 g_propagate_error (error, _inner_error_);
11935 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11936 _g_free0 (ns);
11937 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11938 return 0;
11939 #line 11938 "tracker-sparql-expression.c"
11940 } else {
11941 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11942 _g_free0 (ns);
11943 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11944 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11945 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11946 g_clear_error (&_inner_error_);
11947 #line 1225 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11948 return 0;
11949 #line 11948 "tracker-sparql-expression.c"
11950 }
11951 }
11952 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11953 _tmp181_ = sql;
11954 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11955 _tmp182_ = uri;
11956 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11957 _tmp183_ = tracker_sparql_expression_translate_uri_expression (self, _tmp181_, _tmp182_, &_inner_error_);
11958 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11959 _tmp184_ = _tmp183_;
11960 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11961 if (_inner_error_ != NULL) {
11962 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11963 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
11964 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11965 g_propagate_error (error, _inner_error_);
11966 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11967 _g_free0 (uri);
11968 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11969 _g_free0 (ns);
11970 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11971 return 0;
11972 #line 11971 "tracker-sparql-expression.c"
11973 } else {
11974 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11975 _g_free0 (uri);
11976 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11977 _g_free0 (ns);
11978 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11979 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
11980 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11981 g_clear_error (&_inner_error_);
11982 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11983 return 0;
11984 #line 11983 "tracker-sparql-expression.c"
11985 }
11986 }
11987 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11988 result = _tmp184_;
11989 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11990 _g_free0 (uri);
11991 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11992 _g_free0 (ns);
11993 #line 1226 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11994 return result;
11995 #line 11994 "tracker-sparql-expression.c"
11996 }
11997 #line 1007 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
11998 case TRACKER_SPARQL_TOKEN_TYPE_COLON:
11999 #line 11998 "tracker-sparql-expression.c"
12000 {
12001 TrackerSparqlQuery* _tmp185_;
12002 gchar* _tmp186_ = NULL;
12003 gchar* _tmp187_;
12004 gchar* _tmp188_ = NULL;
12005 gchar* _tmp189_;
12006 gchar* _tmp190_ = NULL;
12007 gchar* _tmp191_;
12008 gchar* uri;
12009 GString* _tmp192_;
12010 const gchar* _tmp193_;
12011 TrackerPropertyType _tmp194_ = 0;
12012 TrackerPropertyType _tmp195_;
12013 #line 1228 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12014 tracker_sparql_expression_next (self, &_inner_error_);
12015 #line 1228 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12016 if (_inner_error_ != NULL) {
12017 #line 1228 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12018 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12019 #line 1228 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12020 g_propagate_error (error, _inner_error_);
12021 #line 1228 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12022 return 0;
12023 #line 12022 "tracker-sparql-expression.c"
12024 } else {
12025 #line 1228 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12026 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12027 #line 1228 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12028 g_clear_error (&_inner_error_);
12029 #line 1228 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12030 return 0;
12031 #line 12030 "tracker-sparql-expression.c"
12032 }
12033 }
12034 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12035 _tmp185_ = self->priv->query;
12036 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12037 _tmp186_ = tracker_sparql_expression_get_last_string (self, 0);
12038 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12039 _tmp187_ = _tmp186_;
12040 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12041 _tmp188_ = string_substring (_tmp187_, (glong) 1, (glong) (-1));
12042 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12043 _tmp189_ = _tmp188_;
12044 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12045 _tmp190_ = tracker_sparql_query_resolve_prefixed_name (_tmp185_, "", _tmp189_, &_inner_error_);
12046 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12047 _tmp191_ = _tmp190_;
12048 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12049 _g_free0 (_tmp189_);
12050 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12051 _g_free0 (_tmp187_);
12052 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12053 uri = _tmp191_;
12054 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12055 if (_inner_error_ != NULL) {
12056 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12057 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12058 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12059 g_propagate_error (error, _inner_error_);
12060 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12061 return 0;
12062 #line 12061 "tracker-sparql-expression.c"
12063 } else {
12064 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12065 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12066 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12067 g_clear_error (&_inner_error_);
12068 #line 1229 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12069 return 0;
12070 #line 12069 "tracker-sparql-expression.c"
12071 }
12072 }
12073 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12074 _tmp192_ = sql;
12075 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12076 _tmp193_ = uri;
12077 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12078 _tmp194_ = tracker_sparql_expression_translate_uri_expression (self, _tmp192_, _tmp193_, &_inner_error_);
12079 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12080 _tmp195_ = _tmp194_;
12081 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12082 if (_inner_error_ != NULL) {
12083 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12084 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12085 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12086 g_propagate_error (error, _inner_error_);
12087 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12088 _g_free0 (uri);
12089 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12090 return 0;
12091 #line 12090 "tracker-sparql-expression.c"
12092 } else {
12093 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12094 _g_free0 (uri);
12095 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12096 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12097 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12098 g_clear_error (&_inner_error_);
12099 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12100 return 0;
12101 #line 12100 "tracker-sparql-expression.c"
12102 }
12103 }
12104 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12105 result = _tmp195_;
12106 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12107 _g_free0 (uri);
12108 #line 1230 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12109 return result;
12110 #line 12109 "tracker-sparql-expression.c"
12111 }
12112 default:
12113 {
12114 GError* _tmp196_ = NULL;
12115 #line 1232 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12116 _tmp196_ = tracker_sparql_expression_get_error (self, "expected primary expression");
12117 #line 1232 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12118 _inner_error_ = _tmp196_;
12119 #line 1232 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12120 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12121 #line 1232 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12122 g_propagate_error (error, _inner_error_);
12123 #line 1232 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12124 return 0;
12125 #line 12124 "tracker-sparql-expression.c"
12126 } else {
12127 #line 1232 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12128 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12129 #line 1232 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12130 g_clear_error (&_inner_error_);
12131 #line 1232 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12132 return 0;
12133 #line 12132 "tracker-sparql-expression.c"
12134 }
12135 }
12136 }
12137 }
12138
12139
12140 static TrackerPropertyType tracker_sparql_expression_translate_unary_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
12141 TrackerPropertyType result = 0;
12142 gboolean _tmp0_ = FALSE;
12143 gboolean _tmp1_;
12144 GString* _tmp19_;
12145 TrackerPropertyType _tmp20_ = 0;
12146 TrackerPropertyType _tmp21_;
12147 GError * _inner_error_ = NULL;
12148 #line 1236 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12149 g_return_val_if_fail (self != NULL, 0);
12150 #line 1236 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12151 g_return_val_if_fail (sql != NULL, 0);
12152 #line 1237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12153 _tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_NEG, &_inner_error_);
12154 #line 1237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12155 _tmp1_ = _tmp0_;
12156 #line 1237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12157 if (_inner_error_ != NULL) {
12158 #line 1237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12159 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12160 #line 1237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12161 g_propagate_error (error, _inner_error_);
12162 #line 1237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12163 return 0;
12164 #line 12163 "tracker-sparql-expression.c"
12165 } else {
12166 #line 1237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12167 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12168 #line 1237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12169 g_clear_error (&_inner_error_);
12170 #line 1237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12171 return 0;
12172 #line 12171 "tracker-sparql-expression.c"
12173 }
12174 }
12175 #line 1237 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12176 if (_tmp1_) {
12177 #line 12176 "tracker-sparql-expression.c"
12178 GString* _tmp2_;
12179 GString* _tmp3_;
12180 TrackerPropertyType _tmp4_ = 0;
12181 TrackerPropertyType optype;
12182 GString* _tmp5_;
12183 TrackerPropertyType _tmp6_;
12184 #line 1238 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12185 _tmp2_ = sql;
12186 #line 1238 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12187 g_string_append (_tmp2_, "NOT (");
12188 #line 1239 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12189 _tmp3_ = sql;
12190 #line 1239 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12191 _tmp4_ = tracker_sparql_expression_translate_primary_expression (self, _tmp3_, &_inner_error_);
12192 #line 1239 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12193 optype = _tmp4_;
12194 #line 1239 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12195 if (_inner_error_ != NULL) {
12196 #line 1239 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12197 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12198 #line 1239 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12199 g_propagate_error (error, _inner_error_);
12200 #line 1239 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12201 return 0;
12202 #line 12201 "tracker-sparql-expression.c"
12203 } else {
12204 #line 1239 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12205 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12206 #line 1239 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12207 g_clear_error (&_inner_error_);
12208 #line 1239 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12209 return 0;
12210 #line 12209 "tracker-sparql-expression.c"
12211 }
12212 }
12213 #line 1240 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12214 _tmp5_ = sql;
12215 #line 1240 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12216 g_string_append (_tmp5_, ")");
12217 #line 1241 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12218 _tmp6_ = optype;
12219 #line 1241 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12220 if (_tmp6_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
12221 #line 12220 "tracker-sparql-expression.c"
12222 GError* _tmp7_ = NULL;
12223 #line 1242 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12224 _tmp7_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
12225 #line 1242 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12226 _inner_error_ = _tmp7_;
12227 #line 1242 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12228 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12229 #line 1242 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12230 g_propagate_error (error, _inner_error_);
12231 #line 1242 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12232 return 0;
12233 #line 12232 "tracker-sparql-expression.c"
12234 } else {
12235 #line 1242 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12236 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12237 #line 1242 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12238 g_clear_error (&_inner_error_);
12239 #line 1242 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12240 return 0;
12241 #line 12240 "tracker-sparql-expression.c"
12242 }
12243 }
12244 #line 1244 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12245 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
12246 #line 1244 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12247 return result;
12248 #line 12247 "tracker-sparql-expression.c"
12249 } else {
12250 gboolean _tmp8_ = FALSE;
12251 gboolean _tmp9_;
12252 #line 1245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12253 _tmp8_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_PLUS, &_inner_error_);
12254 #line 1245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12255 _tmp9_ = _tmp8_;
12256 #line 1245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12257 if (_inner_error_ != NULL) {
12258 #line 1245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12259 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12260 #line 1245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12261 g_propagate_error (error, _inner_error_);
12262 #line 1245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12263 return 0;
12264 #line 12263 "tracker-sparql-expression.c"
12265 } else {
12266 #line 1245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12267 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12268 #line 1245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12269 g_clear_error (&_inner_error_);
12270 #line 1245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12271 return 0;
12272 #line 12271 "tracker-sparql-expression.c"
12273 }
12274 }
12275 #line 1245 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12276 if (_tmp9_) {
12277 #line 12276 "tracker-sparql-expression.c"
12278 GString* _tmp10_;
12279 TrackerPropertyType _tmp11_ = 0;
12280 TrackerPropertyType _tmp12_;
12281 #line 1246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12282 _tmp10_ = sql;
12283 #line 1246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12284 _tmp11_ = tracker_sparql_expression_translate_primary_expression (self, _tmp10_, &_inner_error_);
12285 #line 1246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12286 _tmp12_ = _tmp11_;
12287 #line 1246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12288 if (_inner_error_ != NULL) {
12289 #line 1246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12290 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12291 #line 1246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12292 g_propagate_error (error, _inner_error_);
12293 #line 1246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12294 return 0;
12295 #line 12294 "tracker-sparql-expression.c"
12296 } else {
12297 #line 1246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12298 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12299 #line 1246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12300 g_clear_error (&_inner_error_);
12301 #line 1246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12302 return 0;
12303 #line 12302 "tracker-sparql-expression.c"
12304 }
12305 }
12306 #line 1246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12307 result = _tmp12_;
12308 #line 1246 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12309 return result;
12310 #line 12309 "tracker-sparql-expression.c"
12311 } else {
12312 gboolean _tmp13_ = FALSE;
12313 gboolean _tmp14_;
12314 #line 1247 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12315 _tmp13_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_MINUS, &_inner_error_);
12316 #line 1247 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12317 _tmp14_ = _tmp13_;
12318 #line 1247 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12319 if (_inner_error_ != NULL) {
12320 #line 1247 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12321 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12322 #line 1247 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12323 g_propagate_error (error, _inner_error_);
12324 #line 1247 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12325 return 0;
12326 #line 12325 "tracker-sparql-expression.c"
12327 } else {
12328 #line 1247 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12329 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12330 #line 1247 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12331 g_clear_error (&_inner_error_);
12332 #line 1247 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12333 return 0;
12334 #line 12333 "tracker-sparql-expression.c"
12335 }
12336 }
12337 #line 1247 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12338 if (_tmp14_) {
12339 #line 12338 "tracker-sparql-expression.c"
12340 GString* _tmp15_;
12341 GString* _tmp16_;
12342 TrackerPropertyType _tmp17_ = 0;
12343 TrackerPropertyType optype;
12344 GString* _tmp18_;
12345 #line 1248 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12346 _tmp15_ = sql;
12347 #line 1248 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12348 g_string_append (_tmp15_, "-(");
12349 #line 1249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12350 _tmp16_ = sql;
12351 #line 1249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12352 _tmp17_ = tracker_sparql_expression_translate_primary_expression (self, _tmp16_, &_inner_error_);
12353 #line 1249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12354 optype = _tmp17_;
12355 #line 1249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12356 if (_inner_error_ != NULL) {
12357 #line 1249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12358 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12359 #line 1249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12360 g_propagate_error (error, _inner_error_);
12361 #line 1249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12362 return 0;
12363 #line 12362 "tracker-sparql-expression.c"
12364 } else {
12365 #line 1249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12366 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12367 #line 1249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12368 g_clear_error (&_inner_error_);
12369 #line 1249 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12370 return 0;
12371 #line 12370 "tracker-sparql-expression.c"
12372 }
12373 }
12374 #line 1250 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12375 _tmp18_ = sql;
12376 #line 1250 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12377 g_string_append (_tmp18_, ")");
12378 #line 1251 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12379 result = optype;
12380 #line 1251 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12381 return result;
12382 #line 12381 "tracker-sparql-expression.c"
12383 }
12384 }
12385 }
12386 #line 1253 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12387 _tmp19_ = sql;
12388 #line 1253 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12389 _tmp20_ = tracker_sparql_expression_translate_primary_expression (self, _tmp19_, &_inner_error_);
12390 #line 1253 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12391 _tmp21_ = _tmp20_;
12392 #line 1253 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12393 if (_inner_error_ != NULL) {
12394 #line 1253 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12395 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12396 #line 1253 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12397 g_propagate_error (error, _inner_error_);
12398 #line 1253 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12399 return 0;
12400 #line 12399 "tracker-sparql-expression.c"
12401 } else {
12402 #line 1253 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12403 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12404 #line 1253 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12405 g_clear_error (&_inner_error_);
12406 #line 1253 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12407 return 0;
12408 #line 12407 "tracker-sparql-expression.c"
12409 }
12410 }
12411 #line 1253 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12412 result = _tmp21_;
12413 #line 1253 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12414 return result;
12415 #line 12414 "tracker-sparql-expression.c"
12416 }
12417
12418
12419 static TrackerPropertyType tracker_sparql_expression_translate_multiplicative_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
12420 TrackerPropertyType result = 0;
12421 GString* _tmp0_;
12422 gssize _tmp1_;
12423 glong begin;
12424 GString* _tmp2_;
12425 TrackerPropertyType _tmp3_ = 0;
12426 TrackerPropertyType optype;
12427 GError * _inner_error_ = NULL;
12428 #line 1256 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12429 g_return_val_if_fail (self != NULL, 0);
12430 #line 1256 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12431 g_return_val_if_fail (sql != NULL, 0);
12432 #line 1257 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12433 _tmp0_ = sql;
12434 #line 1257 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12435 _tmp1_ = _tmp0_->len;
12436 #line 1257 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12437 begin = (glong) _tmp1_;
12438 #line 1258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12439 _tmp2_ = sql;
12440 #line 1258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12441 _tmp3_ = tracker_sparql_expression_translate_unary_expression (self, _tmp2_, &_inner_error_);
12442 #line 1258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12443 optype = _tmp3_;
12444 #line 1258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12445 if (_inner_error_ != NULL) {
12446 #line 1258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12447 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12448 #line 1258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12449 g_propagate_error (error, _inner_error_);
12450 #line 1258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12451 return 0;
12452 #line 12451 "tracker-sparql-expression.c"
12453 } else {
12454 #line 1258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12455 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12456 #line 1258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12457 g_clear_error (&_inner_error_);
12458 #line 1258 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12459 return 0;
12460 #line 12459 "tracker-sparql-expression.c"
12461 }
12462 }
12463 #line 1259 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12464 while (TRUE) {
12465 #line 12464 "tracker-sparql-expression.c"
12466 gboolean _tmp4_ = FALSE;
12467 gboolean _tmp5_;
12468 #line 1260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12469 _tmp4_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_STAR, &_inner_error_);
12470 #line 1260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12471 _tmp5_ = _tmp4_;
12472 #line 1260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12473 if (_inner_error_ != NULL) {
12474 #line 1260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12475 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12476 #line 1260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12477 g_propagate_error (error, _inner_error_);
12478 #line 1260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12479 return 0;
12480 #line 12479 "tracker-sparql-expression.c"
12481 } else {
12482 #line 1260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12483 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12484 #line 1260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12485 g_clear_error (&_inner_error_);
12486 #line 1260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12487 return 0;
12488 #line 12487 "tracker-sparql-expression.c"
12489 }
12490 }
12491 #line 1260 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12492 if (_tmp5_) {
12493 #line 12492 "tracker-sparql-expression.c"
12494 TrackerPropertyType _tmp6_;
12495 gboolean _tmp7_ = FALSE;
12496 GString* _tmp9_;
12497 glong _tmp10_;
12498 GString* _tmp11_;
12499 GString* _tmp12_;
12500 TrackerPropertyType _tmp13_ = 0;
12501 TrackerPropertyType _tmp14_;
12502 gboolean _tmp15_ = FALSE;
12503 GString* _tmp17_;
12504 #line 1261 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12505 _tmp6_ = optype;
12506 #line 1261 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12507 _tmp7_ = tracker_sparql_expression_maybe_numeric (self, _tmp6_);
12508 #line 1261 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12509 if (!_tmp7_) {
12510 #line 12509 "tracker-sparql-expression.c"
12511 GError* _tmp8_ = NULL;
12512 #line 1262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12513 _tmp8_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
12514 #line 1262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12515 _inner_error_ = _tmp8_;
12516 #line 1262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12517 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12518 #line 1262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12519 g_propagate_error (error, _inner_error_);
12520 #line 1262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12521 return 0;
12522 #line 12521 "tracker-sparql-expression.c"
12523 } else {
12524 #line 1262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12525 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12526 #line 1262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12527 g_clear_error (&_inner_error_);
12528 #line 1262 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12529 return 0;
12530 #line 12529 "tracker-sparql-expression.c"
12531 }
12532 }
12533 #line 1264 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12534 _tmp9_ = sql;
12535 #line 1264 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12536 _tmp10_ = begin;
12537 #line 1264 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12538 g_string_insert (_tmp9_, (gssize) _tmp10_, "(");
12539 #line 1265 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12540 _tmp11_ = sql;
12541 #line 1265 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12542 g_string_append (_tmp11_, " * ");
12543 #line 1266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12544 _tmp12_ = sql;
12545 #line 1266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12546 _tmp13_ = tracker_sparql_expression_translate_unary_expression (self, _tmp12_, &_inner_error_);
12547 #line 1266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12548 _tmp14_ = _tmp13_;
12549 #line 1266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12550 if (_inner_error_ != NULL) {
12551 #line 1266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12552 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12553 #line 1266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12554 g_propagate_error (error, _inner_error_);
12555 #line 1266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12556 return 0;
12557 #line 12556 "tracker-sparql-expression.c"
12558 } else {
12559 #line 1266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12560 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12561 #line 1266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12562 g_clear_error (&_inner_error_);
12563 #line 1266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12564 return 0;
12565 #line 12564 "tracker-sparql-expression.c"
12566 }
12567 }
12568 #line 1266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12569 _tmp15_ = tracker_sparql_expression_maybe_numeric (self, _tmp14_);
12570 #line 1266 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12571 if (!_tmp15_) {
12572 #line 12571 "tracker-sparql-expression.c"
12573 GError* _tmp16_ = NULL;
12574 #line 1267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12575 _tmp16_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
12576 #line 1267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12577 _inner_error_ = _tmp16_;
12578 #line 1267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12579 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12580 #line 1267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12581 g_propagate_error (error, _inner_error_);
12582 #line 1267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12583 return 0;
12584 #line 12583 "tracker-sparql-expression.c"
12585 } else {
12586 #line 1267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12587 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12588 #line 1267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12589 g_clear_error (&_inner_error_);
12590 #line 1267 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12591 return 0;
12592 #line 12591 "tracker-sparql-expression.c"
12593 }
12594 }
12595 #line 1269 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12596 _tmp17_ = sql;
12597 #line 1269 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12598 g_string_append (_tmp17_, ")");
12599 #line 12598 "tracker-sparql-expression.c"
12600 } else {
12601 gboolean _tmp18_ = FALSE;
12602 gboolean _tmp19_;
12603 #line 1270 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12604 _tmp18_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DIV, &_inner_error_);
12605 #line 1270 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12606 _tmp19_ = _tmp18_;
12607 #line 1270 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12608 if (_inner_error_ != NULL) {
12609 #line 1270 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12610 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12611 #line 1270 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12612 g_propagate_error (error, _inner_error_);
12613 #line 1270 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12614 return 0;
12615 #line 12614 "tracker-sparql-expression.c"
12616 } else {
12617 #line 1270 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12618 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12619 #line 1270 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12620 g_clear_error (&_inner_error_);
12621 #line 1270 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12622 return 0;
12623 #line 12622 "tracker-sparql-expression.c"
12624 }
12625 }
12626 #line 1270 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12627 if (_tmp19_) {
12628 #line 12627 "tracker-sparql-expression.c"
12629 TrackerPropertyType _tmp20_;
12630 gboolean _tmp21_ = FALSE;
12631 GString* _tmp23_;
12632 glong _tmp24_;
12633 GString* _tmp25_;
12634 GString* _tmp26_;
12635 TrackerPropertyType _tmp27_ = 0;
12636 TrackerPropertyType _tmp28_;
12637 gboolean _tmp29_ = FALSE;
12638 GString* _tmp31_;
12639 #line 1271 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12640 _tmp20_ = optype;
12641 #line 1271 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12642 _tmp21_ = tracker_sparql_expression_maybe_numeric (self, _tmp20_);
12643 #line 1271 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12644 if (!_tmp21_) {
12645 #line 12644 "tracker-sparql-expression.c"
12646 GError* _tmp22_ = NULL;
12647 #line 1272 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12648 _tmp22_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
12649 #line 1272 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12650 _inner_error_ = _tmp22_;
12651 #line 1272 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12652 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12653 #line 1272 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12654 g_propagate_error (error, _inner_error_);
12655 #line 1272 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12656 return 0;
12657 #line 12656 "tracker-sparql-expression.c"
12658 } else {
12659 #line 1272 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12660 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12661 #line 1272 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12662 g_clear_error (&_inner_error_);
12663 #line 1272 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12664 return 0;
12665 #line 12664 "tracker-sparql-expression.c"
12666 }
12667 }
12668 #line 1274 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12669 _tmp23_ = sql;
12670 #line 1274 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12671 _tmp24_ = begin;
12672 #line 1274 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12673 g_string_insert (_tmp23_, (gssize) _tmp24_, "(");
12674 #line 1275 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12675 _tmp25_ = sql;
12676 #line 1275 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12677 g_string_append (_tmp25_, " / ");
12678 #line 1276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12679 _tmp26_ = sql;
12680 #line 1276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12681 _tmp27_ = tracker_sparql_expression_translate_unary_expression (self, _tmp26_, &_inner_error_);
12682 #line 1276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12683 _tmp28_ = _tmp27_;
12684 #line 1276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12685 if (_inner_error_ != NULL) {
12686 #line 1276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12687 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12688 #line 1276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12689 g_propagate_error (error, _inner_error_);
12690 #line 1276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12691 return 0;
12692 #line 12691 "tracker-sparql-expression.c"
12693 } else {
12694 #line 1276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12695 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12696 #line 1276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12697 g_clear_error (&_inner_error_);
12698 #line 1276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12699 return 0;
12700 #line 12699 "tracker-sparql-expression.c"
12701 }
12702 }
12703 #line 1276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12704 _tmp29_ = tracker_sparql_expression_maybe_numeric (self, _tmp28_);
12705 #line 1276 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12706 if (!_tmp29_) {
12707 #line 12706 "tracker-sparql-expression.c"
12708 GError* _tmp30_ = NULL;
12709 #line 1277 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12710 _tmp30_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
12711 #line 1277 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12712 _inner_error_ = _tmp30_;
12713 #line 1277 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12714 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12715 #line 1277 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12716 g_propagate_error (error, _inner_error_);
12717 #line 1277 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12718 return 0;
12719 #line 12718 "tracker-sparql-expression.c"
12720 } else {
12721 #line 1277 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12722 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12723 #line 1277 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12724 g_clear_error (&_inner_error_);
12725 #line 1277 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12726 return 0;
12727 #line 12726 "tracker-sparql-expression.c"
12728 }
12729 }
12730 #line 1279 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12731 _tmp31_ = sql;
12732 #line 1279 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12733 g_string_append (_tmp31_, ")");
12734 #line 12733 "tracker-sparql-expression.c"
12735 } else {
12736 #line 1281 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12737 break;
12738 #line 12737 "tracker-sparql-expression.c"
12739 }
12740 }
12741 }
12742 #line 1284 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12743 result = optype;
12744 #line 1284 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12745 return result;
12746 #line 12745 "tracker-sparql-expression.c"
12747 }
12748
12749
12750 static TrackerPropertyType tracker_sparql_expression_translate_additive_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
12751 TrackerPropertyType result = 0;
12752 GString* _tmp0_;
12753 gssize _tmp1_;
12754 glong begin;
12755 GString* _tmp2_;
12756 TrackerPropertyType _tmp3_ = 0;
12757 TrackerPropertyType optype;
12758 GError * _inner_error_ = NULL;
12759 #line 1287 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12760 g_return_val_if_fail (self != NULL, 0);
12761 #line 1287 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12762 g_return_val_if_fail (sql != NULL, 0);
12763 #line 1288 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12764 _tmp0_ = sql;
12765 #line 1288 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12766 _tmp1_ = _tmp0_->len;
12767 #line 1288 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12768 begin = (glong) _tmp1_;
12769 #line 1289 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12770 _tmp2_ = sql;
12771 #line 1289 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12772 _tmp3_ = tracker_sparql_expression_translate_multiplicative_expression (self, _tmp2_, &_inner_error_);
12773 #line 1289 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12774 optype = _tmp3_;
12775 #line 1289 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12776 if (_inner_error_ != NULL) {
12777 #line 1289 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12778 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12779 #line 1289 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12780 g_propagate_error (error, _inner_error_);
12781 #line 1289 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12782 return 0;
12783 #line 12782 "tracker-sparql-expression.c"
12784 } else {
12785 #line 1289 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12786 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12787 #line 1289 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12788 g_clear_error (&_inner_error_);
12789 #line 1289 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12790 return 0;
12791 #line 12790 "tracker-sparql-expression.c"
12792 }
12793 }
12794 #line 1290 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12795 while (TRUE) {
12796 #line 12795 "tracker-sparql-expression.c"
12797 gboolean _tmp4_ = FALSE;
12798 gboolean _tmp5_;
12799 #line 1291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12800 _tmp4_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_PLUS, &_inner_error_);
12801 #line 1291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12802 _tmp5_ = _tmp4_;
12803 #line 1291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12804 if (_inner_error_ != NULL) {
12805 #line 1291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12806 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12807 #line 1291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12808 g_propagate_error (error, _inner_error_);
12809 #line 1291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12810 return 0;
12811 #line 12810 "tracker-sparql-expression.c"
12812 } else {
12813 #line 1291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12814 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12815 #line 1291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12816 g_clear_error (&_inner_error_);
12817 #line 1291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12818 return 0;
12819 #line 12818 "tracker-sparql-expression.c"
12820 }
12821 }
12822 #line 1291 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12823 if (_tmp5_) {
12824 #line 12823 "tracker-sparql-expression.c"
12825 TrackerPropertyType _tmp6_;
12826 gboolean _tmp7_ = FALSE;
12827 GString* _tmp9_;
12828 glong _tmp10_;
12829 GString* _tmp11_;
12830 GString* _tmp12_;
12831 TrackerPropertyType _tmp13_ = 0;
12832 TrackerPropertyType _tmp14_;
12833 gboolean _tmp15_ = FALSE;
12834 GString* _tmp17_;
12835 #line 1292 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12836 _tmp6_ = optype;
12837 #line 1292 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12838 _tmp7_ = tracker_sparql_expression_maybe_numeric (self, _tmp6_);
12839 #line 1292 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12840 if (!_tmp7_) {
12841 #line 12840 "tracker-sparql-expression.c"
12842 GError* _tmp8_ = NULL;
12843 #line 1293 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12844 _tmp8_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
12845 #line 1293 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12846 _inner_error_ = _tmp8_;
12847 #line 1293 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12848 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12849 #line 1293 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12850 g_propagate_error (error, _inner_error_);
12851 #line 1293 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12852 return 0;
12853 #line 12852 "tracker-sparql-expression.c"
12854 } else {
12855 #line 1293 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12856 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12857 #line 1293 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12858 g_clear_error (&_inner_error_);
12859 #line 1293 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12860 return 0;
12861 #line 12860 "tracker-sparql-expression.c"
12862 }
12863 }
12864 #line 1295 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12865 _tmp9_ = sql;
12866 #line 1295 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12867 _tmp10_ = begin;
12868 #line 1295 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12869 g_string_insert (_tmp9_, (gssize) _tmp10_, "(");
12870 #line 1296 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12871 _tmp11_ = sql;
12872 #line 1296 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12873 g_string_append (_tmp11_, " + ");
12874 #line 1297 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12875 _tmp12_ = sql;
12876 #line 1297 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12877 _tmp13_ = tracker_sparql_expression_translate_multiplicative_expression (self, _tmp12_, &_inner_error_);
12878 #line 1297 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12879 _tmp14_ = _tmp13_;
12880 #line 1297 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12881 if (_inner_error_ != NULL) {
12882 #line 1297 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12883 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12884 #line 1297 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12885 g_propagate_error (error, _inner_error_);
12886 #line 1297 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12887 return 0;
12888 #line 12887 "tracker-sparql-expression.c"
12889 } else {
12890 #line 1297 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12891 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12892 #line 1297 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12893 g_clear_error (&_inner_error_);
12894 #line 1297 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12895 return 0;
12896 #line 12895 "tracker-sparql-expression.c"
12897 }
12898 }
12899 #line 1297 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12900 _tmp15_ = tracker_sparql_expression_maybe_numeric (self, _tmp14_);
12901 #line 1297 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12902 if (!_tmp15_) {
12903 #line 12902 "tracker-sparql-expression.c"
12904 GError* _tmp16_ = NULL;
12905 #line 1298 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12906 _tmp16_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
12907 #line 1298 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12908 _inner_error_ = _tmp16_;
12909 #line 1298 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12910 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12911 #line 1298 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12912 g_propagate_error (error, _inner_error_);
12913 #line 1298 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12914 return 0;
12915 #line 12914 "tracker-sparql-expression.c"
12916 } else {
12917 #line 1298 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12918 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12919 #line 1298 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12920 g_clear_error (&_inner_error_);
12921 #line 1298 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12922 return 0;
12923 #line 12922 "tracker-sparql-expression.c"
12924 }
12925 }
12926 #line 1300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12927 _tmp17_ = sql;
12928 #line 1300 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12929 g_string_append (_tmp17_, ")");
12930 #line 12929 "tracker-sparql-expression.c"
12931 } else {
12932 gboolean _tmp18_ = FALSE;
12933 gboolean _tmp19_;
12934 #line 1301 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12935 _tmp18_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_MINUS, &_inner_error_);
12936 #line 1301 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12937 _tmp19_ = _tmp18_;
12938 #line 1301 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12939 if (_inner_error_ != NULL) {
12940 #line 1301 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12941 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12942 #line 1301 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12943 g_propagate_error (error, _inner_error_);
12944 #line 1301 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12945 return 0;
12946 #line 12945 "tracker-sparql-expression.c"
12947 } else {
12948 #line 1301 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12949 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12950 #line 1301 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12951 g_clear_error (&_inner_error_);
12952 #line 1301 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12953 return 0;
12954 #line 12953 "tracker-sparql-expression.c"
12955 }
12956 }
12957 #line 1301 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12958 if (_tmp19_) {
12959 #line 12958 "tracker-sparql-expression.c"
12960 TrackerPropertyType _tmp20_;
12961 gboolean _tmp21_ = FALSE;
12962 GString* _tmp23_;
12963 glong _tmp24_;
12964 GString* _tmp25_;
12965 GString* _tmp26_;
12966 TrackerPropertyType _tmp27_ = 0;
12967 TrackerPropertyType _tmp28_;
12968 gboolean _tmp29_ = FALSE;
12969 GString* _tmp31_;
12970 #line 1302 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12971 _tmp20_ = optype;
12972 #line 1302 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12973 _tmp21_ = tracker_sparql_expression_maybe_numeric (self, _tmp20_);
12974 #line 1302 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12975 if (!_tmp21_) {
12976 #line 12975 "tracker-sparql-expression.c"
12977 GError* _tmp22_ = NULL;
12978 #line 1303 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12979 _tmp22_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
12980 #line 1303 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12981 _inner_error_ = _tmp22_;
12982 #line 1303 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12983 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
12984 #line 1303 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12985 g_propagate_error (error, _inner_error_);
12986 #line 1303 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12987 return 0;
12988 #line 12987 "tracker-sparql-expression.c"
12989 } else {
12990 #line 1303 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12991 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12992 #line 1303 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12993 g_clear_error (&_inner_error_);
12994 #line 1303 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
12995 return 0;
12996 #line 12995 "tracker-sparql-expression.c"
12997 }
12998 }
12999 #line 1305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13000 _tmp23_ = sql;
13001 #line 1305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13002 _tmp24_ = begin;
13003 #line 1305 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13004 g_string_insert (_tmp23_, (gssize) _tmp24_, "(");
13005 #line 1306 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13006 _tmp25_ = sql;
13007 #line 1306 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13008 g_string_append (_tmp25_, " - ");
13009 #line 1307 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13010 _tmp26_ = sql;
13011 #line 1307 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13012 _tmp27_ = tracker_sparql_expression_translate_multiplicative_expression (self, _tmp26_, &_inner_error_);
13013 #line 1307 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13014 _tmp28_ = _tmp27_;
13015 #line 1307 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13016 if (_inner_error_ != NULL) {
13017 #line 1307 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13018 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13019 #line 1307 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13020 g_propagate_error (error, _inner_error_);
13021 #line 1307 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13022 return 0;
13023 #line 13022 "tracker-sparql-expression.c"
13024 } else {
13025 #line 1307 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13026 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13027 #line 1307 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13028 g_clear_error (&_inner_error_);
13029 #line 1307 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13030 return 0;
13031 #line 13030 "tracker-sparql-expression.c"
13032 }
13033 }
13034 #line 1307 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13035 _tmp29_ = tracker_sparql_expression_maybe_numeric (self, _tmp28_);
13036 #line 1307 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13037 if (!_tmp29_) {
13038 #line 13037 "tracker-sparql-expression.c"
13039 GError* _tmp30_ = NULL;
13040 #line 1308 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13041 _tmp30_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
13042 #line 1308 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13043 _inner_error_ = _tmp30_;
13044 #line 1308 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13045 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13046 #line 1308 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13047 g_propagate_error (error, _inner_error_);
13048 #line 1308 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13049 return 0;
13050 #line 13049 "tracker-sparql-expression.c"
13051 } else {
13052 #line 1308 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13053 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13054 #line 1308 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13055 g_clear_error (&_inner_error_);
13056 #line 1308 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13057 return 0;
13058 #line 13057 "tracker-sparql-expression.c"
13059 }
13060 }
13061 #line 1310 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13062 _tmp31_ = sql;
13063 #line 1310 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13064 g_string_append (_tmp31_, ")");
13065 #line 13064 "tracker-sparql-expression.c"
13066 } else {
13067 #line 1312 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13068 break;
13069 #line 13068 "tracker-sparql-expression.c"
13070 }
13071 }
13072 }
13073 #line 1315 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13074 result = optype;
13075 #line 1315 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13076 return result;
13077 #line 13076 "tracker-sparql-expression.c"
13078 }
13079
13080
13081 static TrackerPropertyType tracker_sparql_expression_translate_numeric_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
13082 TrackerPropertyType result = 0;
13083 GString* _tmp0_;
13084 TrackerPropertyType _tmp1_ = 0;
13085 TrackerPropertyType _tmp2_;
13086 GError * _inner_error_ = NULL;
13087 #line 1318 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13088 g_return_val_if_fail (self != NULL, 0);
13089 #line 1318 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13090 g_return_val_if_fail (sql != NULL, 0);
13091 #line 1319 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13092 _tmp0_ = sql;
13093 #line 1319 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13094 _tmp1_ = tracker_sparql_expression_translate_additive_expression (self, _tmp0_, &_inner_error_);
13095 #line 1319 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13096 _tmp2_ = _tmp1_;
13097 #line 1319 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13098 if (_inner_error_ != NULL) {
13099 #line 1319 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13100 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13101 #line 1319 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13102 g_propagate_error (error, _inner_error_);
13103 #line 1319 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13104 return 0;
13105 #line 13104 "tracker-sparql-expression.c"
13106 } else {
13107 #line 1319 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13108 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13109 #line 1319 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13110 g_clear_error (&_inner_error_);
13111 #line 1319 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13112 return 0;
13113 #line 13112 "tracker-sparql-expression.c"
13114 }
13115 }
13116 #line 1319 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13117 result = _tmp2_;
13118 #line 1319 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13119 return result;
13120 #line 13119 "tracker-sparql-expression.c"
13121 }
13122
13123
13124 static TrackerPropertyType tracker_sparql_expression_process_relational_expression (TrackerSparqlExpression* self, GString* sql, glong begin, guint n_bindings, TrackerPropertyType op1type, const gchar* operator, GError** error) {
13125 TrackerPropertyType result = 0;
13126 GString* _tmp0_;
13127 glong _tmp1_;
13128 GString* _tmp2_;
13129 const gchar* _tmp3_;
13130 GString* _tmp4_;
13131 TrackerPropertyType _tmp5_ = 0;
13132 TrackerPropertyType op2type;
13133 GString* _tmp6_;
13134 gboolean _tmp7_ = FALSE;
13135 gboolean _tmp8_ = FALSE;
13136 TrackerPropertyType _tmp9_;
13137 gboolean _tmp10_;
13138 gboolean _tmp14_;
13139 GError * _inner_error_ = NULL;
13140 #line 1322 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13141 g_return_val_if_fail (self != NULL, 0);
13142 #line 1322 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13143 g_return_val_if_fail (sql != NULL, 0);
13144 #line 1322 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13145 g_return_val_if_fail (operator != NULL, 0);
13146 #line 1323 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13147 _tmp0_ = sql;
13148 #line 1323 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13149 _tmp1_ = begin;
13150 #line 1323 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13151 g_string_insert (_tmp0_, (gssize) _tmp1_, "(");
13152 #line 1324 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13153 _tmp2_ = sql;
13154 #line 1324 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13155 _tmp3_ = operator;
13156 #line 1324 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13157 g_string_append (_tmp2_, _tmp3_);
13158 #line 1325 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13159 _tmp4_ = sql;
13160 #line 1325 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13161 _tmp5_ = tracker_sparql_expression_translate_numeric_expression (self, _tmp4_, &_inner_error_);
13162 #line 1325 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13163 op2type = _tmp5_;
13164 #line 1325 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13165 if (_inner_error_ != NULL) {
13166 #line 1325 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13167 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13168 #line 1325 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13169 g_propagate_error (error, _inner_error_);
13170 #line 1325 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13171 return 0;
13172 #line 13171 "tracker-sparql-expression.c"
13173 } else {
13174 #line 1325 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13175 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13176 #line 1325 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13177 g_clear_error (&_inner_error_);
13178 #line 1325 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13179 return 0;
13180 #line 13179 "tracker-sparql-expression.c"
13181 }
13182 }
13183 #line 1326 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13184 _tmp6_ = sql;
13185 #line 1326 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13186 g_string_append (_tmp6_, ")");
13187 #line 1327 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13188 _tmp9_ = op1type;
13189 #line 1327 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13190 if (_tmp9_ == TRACKER_PROPERTY_TYPE_DATETIME) {
13191 #line 1327 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13192 _tmp8_ = op2type == TRACKER_PROPERTY_TYPE_STRING;
13193 #line 13192 "tracker-sparql-expression.c"
13194 } else {
13195 #line 1327 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13196 _tmp8_ = FALSE;
13197 #line 13196 "tracker-sparql-expression.c"
13198 }
13199 #line 1327 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13200 _tmp10_ = _tmp8_;
13201 #line 1327 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13202 if (_tmp10_) {
13203 #line 1327 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13204 _tmp7_ = TRUE;
13205 #line 13204 "tracker-sparql-expression.c"
13206 } else {
13207 gboolean _tmp11_ = FALSE;
13208 TrackerPropertyType _tmp12_;
13209 gboolean _tmp13_;
13210 #line 1328 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13211 _tmp12_ = op1type;
13212 #line 1328 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13213 if (_tmp12_ == TRACKER_PROPERTY_TYPE_STRING) {
13214 #line 1328 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13215 _tmp11_ = op2type == TRACKER_PROPERTY_TYPE_DATETIME;
13216 #line 13215 "tracker-sparql-expression.c"
13217 } else {
13218 #line 1328 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13219 _tmp11_ = FALSE;
13220 #line 13219 "tracker-sparql-expression.c"
13221 }
13222 #line 1328 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13223 _tmp13_ = _tmp11_;
13224 #line 1328 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13225 _tmp7_ = _tmp13_;
13226 #line 13225 "tracker-sparql-expression.c"
13227 }
13228 #line 1327 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13229 _tmp14_ = _tmp7_;
13230 #line 1327 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13231 if (_tmp14_) {
13232 #line 13231 "tracker-sparql-expression.c"
13233 TrackerSparqlQuery* _tmp15_;
13234 GList* _tmp16_;
13235 guint _tmp17_ = 0U;
13236 guint _tmp18_;
13237 #line 1330 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13238 _tmp15_ = self->priv->query;
13239 #line 1330 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13240 _tmp16_ = _tmp15_->bindings;
13241 #line 1330 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13242 _tmp17_ = g_list_length (_tmp16_);
13243 #line 1330 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13244 _tmp18_ = n_bindings;
13245 #line 1330 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13246 if (_tmp17_ == (_tmp18_ + 1)) {
13247 #line 13246 "tracker-sparql-expression.c"
13248 TrackerSparqlQuery* _tmp19_;
13249 GList* _tmp20_;
13250 GList* _tmp21_ = NULL;
13251 gconstpointer _tmp22_;
13252 #line 1332 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13253 _tmp19_ = self->priv->query;
13254 #line 1332 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13255 _tmp20_ = _tmp19_->bindings;
13256 #line 1332 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13257 _tmp21_ = g_list_last (_tmp20_);
13258 #line 1332 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13259 _tmp22_ = _tmp21_->data;
13260 #line 1332 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13261 ((TrackerSparqlDataBinding*) ((TrackerSparqlLiteralBinding*) _tmp22_))->data_type = TRACKER_PROPERTY_TYPE_DATETIME;
13262 #line 13261 "tracker-sparql-expression.c"
13263 }
13264 } else {
13265 gboolean _tmp23_ = FALSE;
13266 gboolean _tmp24_ = FALSE;
13267 TrackerPropertyType _tmp25_;
13268 gboolean _tmp26_;
13269 gboolean _tmp30_;
13270 #line 1334 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13271 _tmp25_ = op1type;
13272 #line 1334 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13273 if (_tmp25_ == TRACKER_PROPERTY_TYPE_DATE) {
13274 #line 1334 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13275 _tmp24_ = op2type == TRACKER_PROPERTY_TYPE_STRING;
13276 #line 13275 "tracker-sparql-expression.c"
13277 } else {
13278 #line 1334 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13279 _tmp24_ = FALSE;
13280 #line 13279 "tracker-sparql-expression.c"
13281 }
13282 #line 1334 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13283 _tmp26_ = _tmp24_;
13284 #line 1334 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13285 if (_tmp26_) {
13286 #line 1334 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13287 _tmp23_ = TRUE;
13288 #line 13287 "tracker-sparql-expression.c"
13289 } else {
13290 gboolean _tmp27_ = FALSE;
13291 TrackerPropertyType _tmp28_;
13292 gboolean _tmp29_;
13293 #line 1335 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13294 _tmp28_ = op1type;
13295 #line 1335 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13296 if (_tmp28_ == TRACKER_PROPERTY_TYPE_STRING) {
13297 #line 1335 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13298 _tmp27_ = op2type == TRACKER_PROPERTY_TYPE_DATE;
13299 #line 13298 "tracker-sparql-expression.c"
13300 } else {
13301 #line 1335 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13302 _tmp27_ = FALSE;
13303 #line 13302 "tracker-sparql-expression.c"
13304 }
13305 #line 1335 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13306 _tmp29_ = _tmp27_;
13307 #line 1335 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13308 _tmp23_ = _tmp29_;
13309 #line 13308 "tracker-sparql-expression.c"
13310 }
13311 #line 1334 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13312 _tmp30_ = _tmp23_;
13313 #line 1334 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13314 if (_tmp30_) {
13315 #line 13314 "tracker-sparql-expression.c"
13316 TrackerSparqlQuery* _tmp31_;
13317 GList* _tmp32_;
13318 guint _tmp33_ = 0U;
13319 guint _tmp34_;
13320 #line 1337 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13321 _tmp31_ = self->priv->query;
13322 #line 1337 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13323 _tmp32_ = _tmp31_->bindings;
13324 #line 1337 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13325 _tmp33_ = g_list_length (_tmp32_);
13326 #line 1337 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13327 _tmp34_ = n_bindings;
13328 #line 1337 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13329 if (_tmp33_ == (_tmp34_ + 1)) {
13330 #line 13329 "tracker-sparql-expression.c"
13331 TrackerSparqlQuery* _tmp35_;
13332 GList* _tmp36_;
13333 GList* _tmp37_ = NULL;
13334 gconstpointer _tmp38_;
13335 #line 1339 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13336 _tmp35_ = self->priv->query;
13337 #line 1339 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13338 _tmp36_ = _tmp35_->bindings;
13339 #line 1339 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13340 _tmp37_ = g_list_last (_tmp36_);
13341 #line 1339 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13342 _tmp38_ = _tmp37_->data;
13343 #line 1339 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13344 ((TrackerSparqlDataBinding*) ((TrackerSparqlLiteralBinding*) _tmp38_))->data_type = TRACKER_PROPERTY_TYPE_DATE;
13345 #line 13344 "tracker-sparql-expression.c"
13346 }
13347 }
13348 }
13349 #line 1342 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13350 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
13351 #line 1342 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13352 return result;
13353 #line 13352 "tracker-sparql-expression.c"
13354 }
13355
13356
13357 static TrackerPropertyType tracker_sparql_expression_translate_in (TrackerSparqlExpression* self, GString* sql, gboolean not, GError** error) {
13358 TrackerPropertyType result = 0;
13359 gint in_variable_count;
13360 gboolean _tmp0_;
13361 GString* _tmp2_;
13362 gboolean _tmp3_ = FALSE;
13363 gboolean _tmp4_;
13364 GString* _tmp19_;
13365 GError * _inner_error_ = NULL;
13366 #line 1345 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13367 g_return_val_if_fail (self != NULL, 0);
13368 #line 1345 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13369 g_return_val_if_fail (sql != NULL, 0);
13370 #line 1347 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13371 in_variable_count = 0;
13372 #line 1349 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13373 _tmp0_ = not;
13374 #line 1349 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13375 if (_tmp0_) {
13376 #line 13375 "tracker-sparql-expression.c"
13377 GString* _tmp1_;
13378 #line 1350 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13379 _tmp1_ = sql;
13380 #line 1350 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13381 g_string_append (_tmp1_, " NOT");
13382 #line 13381 "tracker-sparql-expression.c"
13383 }
13384 #line 1353 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13385 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
13386 #line 1353 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13387 if (_inner_error_ != NULL) {
13388 #line 1353 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13389 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13390 #line 1353 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13391 g_propagate_error (error, _inner_error_);
13392 #line 1353 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13393 return 0;
13394 #line 13393 "tracker-sparql-expression.c"
13395 } else {
13396 #line 1353 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13397 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13398 #line 1353 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13399 g_clear_error (&_inner_error_);
13400 #line 1353 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13401 return 0;
13402 #line 13401 "tracker-sparql-expression.c"
13403 }
13404 }
13405 #line 1354 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13406 _tmp2_ = sql;
13407 #line 1354 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13408 g_string_append (_tmp2_, " IN (");
13409 #line 1355 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13410 _tmp3_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
13411 #line 1355 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13412 _tmp4_ = _tmp3_;
13413 #line 1355 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13414 if (_inner_error_ != NULL) {
13415 #line 1355 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13416 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13417 #line 1355 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13418 g_propagate_error (error, _inner_error_);
13419 #line 1355 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13420 return 0;
13421 #line 13420 "tracker-sparql-expression.c"
13422 } else {
13423 #line 1355 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13424 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13425 #line 1355 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13426 g_clear_error (&_inner_error_);
13427 #line 1355 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13428 return 0;
13429 #line 13428 "tracker-sparql-expression.c"
13430 }
13431 }
13432 #line 1355 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13433 if (!_tmp4_) {
13434 #line 13433 "tracker-sparql-expression.c"
13435 gint _tmp5_;
13436 GString* _tmp6_;
13437 #line 1356 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13438 _tmp5_ = in_variable_count;
13439 #line 1356 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13440 in_variable_count = _tmp5_ + 1;
13441 #line 1357 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13442 _tmp6_ = sql;
13443 #line 1357 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13444 tracker_sparql_expression_translate_expression (self, _tmp6_, &_inner_error_);
13445 #line 1357 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13446 if (_inner_error_ != NULL) {
13447 #line 1357 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13448 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13449 #line 1357 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13450 g_propagate_error (error, _inner_error_);
13451 #line 1357 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13452 return 0;
13453 #line 13452 "tracker-sparql-expression.c"
13454 } else {
13455 #line 1357 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13456 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13457 #line 1357 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13458 g_clear_error (&_inner_error_);
13459 #line 1357 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13460 return 0;
13461 #line 13460 "tracker-sparql-expression.c"
13462 }
13463 }
13464 #line 1358 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13465 while (TRUE) {
13466 #line 13465 "tracker-sparql-expression.c"
13467 gboolean _tmp7_ = FALSE;
13468 gboolean _tmp8_;
13469 GString* _tmp9_;
13470 gint _tmp10_;
13471 gboolean _tmp11_ = FALSE;
13472 gint _tmp12_;
13473 gboolean _tmp16_;
13474 GString* _tmp18_;
13475 #line 1358 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13476 _tmp7_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
13477 #line 1358 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13478 _tmp8_ = _tmp7_;
13479 #line 1358 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13480 if (_inner_error_ != NULL) {
13481 #line 1358 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13482 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13483 #line 1358 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13484 g_propagate_error (error, _inner_error_);
13485 #line 1358 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13486 return 0;
13487 #line 13486 "tracker-sparql-expression.c"
13488 } else {
13489 #line 1358 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13490 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13491 #line 1358 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13492 g_clear_error (&_inner_error_);
13493 #line 1358 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13494 return 0;
13495 #line 13494 "tracker-sparql-expression.c"
13496 }
13497 }
13498 #line 1358 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13499 if (!_tmp8_) {
13500 #line 1358 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13501 break;
13502 #line 13501 "tracker-sparql-expression.c"
13503 }
13504 #line 1359 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13505 _tmp9_ = sql;
13506 #line 1359 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13507 g_string_append (_tmp9_, ", ");
13508 #line 1361 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13509 _tmp10_ = in_variable_count;
13510 #line 1361 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13511 in_variable_count = _tmp10_ + 1;
13512 #line 1363 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13513 _tmp12_ = in_variable_count;
13514 #line 1363 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13515 if (_tmp12_ > TRACKER_SPARQL_EXPRESSION_MAX_VARIABLES_FOR_IN) {
13516 #line 13515 "tracker-sparql-expression.c"
13517 TrackerSparqlQuery* _tmp13_;
13518 gboolean _tmp14_;
13519 gboolean _tmp15_;
13520 #line 1363 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13521 _tmp13_ = self->priv->query;
13522 #line 1363 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13523 _tmp14_ = tracker_sparql_query_get_no_cache (_tmp13_);
13524 #line 1363 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13525 _tmp15_ = _tmp14_;
13526 #line 1363 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13527 _tmp11_ = !_tmp15_;
13528 #line 13527 "tracker-sparql-expression.c"
13529 } else {
13530 #line 1363 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13531 _tmp11_ = FALSE;
13532 #line 13531 "tracker-sparql-expression.c"
13533 }
13534 #line 1363 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13535 _tmp16_ = _tmp11_;
13536 #line 1363 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13537 if (_tmp16_) {
13538 #line 13537 "tracker-sparql-expression.c"
13539 TrackerSparqlQuery* _tmp17_;
13540 #line 1364 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13541 _tmp17_ = self->priv->query;
13542 #line 1364 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13543 tracker_sparql_query_set_no_cache (_tmp17_, TRUE);
13544 #line 13543 "tracker-sparql-expression.c"
13545 }
13546 #line 1367 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13547 _tmp18_ = sql;
13548 #line 1367 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13549 tracker_sparql_expression_translate_expression (self, _tmp18_, &_inner_error_);
13550 #line 1367 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13551 if (_inner_error_ != NULL) {
13552 #line 1367 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13553 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13554 #line 1367 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13555 g_propagate_error (error, _inner_error_);
13556 #line 1367 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13557 return 0;
13558 #line 13557 "tracker-sparql-expression.c"
13559 } else {
13560 #line 1367 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13561 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13562 #line 1367 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13563 g_clear_error (&_inner_error_);
13564 #line 1367 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13565 return 0;
13566 #line 13565 "tracker-sparql-expression.c"
13567 }
13568 }
13569 }
13570 #line 1369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13571 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
13572 #line 1369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13573 if (_inner_error_ != NULL) {
13574 #line 1369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13575 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13576 #line 1369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13577 g_propagate_error (error, _inner_error_);
13578 #line 1369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13579 return 0;
13580 #line 13579 "tracker-sparql-expression.c"
13581 } else {
13582 #line 1369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13583 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13584 #line 1369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13585 g_clear_error (&_inner_error_);
13586 #line 1369 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13587 return 0;
13588 #line 13587 "tracker-sparql-expression.c"
13589 }
13590 }
13591 }
13592 #line 1371 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13593 _tmp19_ = sql;
13594 #line 1371 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13595 g_string_append (_tmp19_, ")");
13596 #line 1373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13597 result = TRACKER_PROPERTY_TYPE_BOOLEAN;
13598 #line 1373 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13599 return result;
13600 #line 13599 "tracker-sparql-expression.c"
13601 }
13602
13603
13604 static TrackerPropertyType tracker_sparql_expression_translate_relational_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
13605 TrackerPropertyType result = 0;
13606 GString* _tmp0_;
13607 gssize _tmp1_;
13608 glong begin;
13609 TrackerSparqlQuery* _tmp2_;
13610 GList* _tmp3_;
13611 guint _tmp4_ = 0U;
13612 guint n_bindings;
13613 GString* _tmp5_;
13614 TrackerPropertyType _tmp6_ = 0;
13615 TrackerPropertyType optype;
13616 gboolean _tmp7_ = FALSE;
13617 gboolean _tmp8_;
13618 GError * _inner_error_ = NULL;
13619 #line 1376 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13620 g_return_val_if_fail (self != NULL, 0);
13621 #line 1376 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13622 g_return_val_if_fail (sql != NULL, 0);
13623 #line 1377 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13624 _tmp0_ = sql;
13625 #line 1377 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13626 _tmp1_ = _tmp0_->len;
13627 #line 1377 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13628 begin = (glong) _tmp1_;
13629 #line 1379 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13630 _tmp2_ = self->priv->query;
13631 #line 1379 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13632 _tmp3_ = _tmp2_->bindings;
13633 #line 1379 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13634 _tmp4_ = g_list_length (_tmp3_);
13635 #line 1379 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13636 n_bindings = _tmp4_;
13637 #line 1380 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13638 _tmp5_ = sql;
13639 #line 1380 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13640 _tmp6_ = tracker_sparql_expression_translate_numeric_expression (self, _tmp5_, &_inner_error_);
13641 #line 1380 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13642 optype = _tmp6_;
13643 #line 1380 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13644 if (_inner_error_ != NULL) {
13645 #line 1380 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13646 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13647 #line 1380 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13648 g_propagate_error (error, _inner_error_);
13649 #line 1380 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13650 return 0;
13651 #line 13650 "tracker-sparql-expression.c"
13652 } else {
13653 #line 1380 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13654 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13655 #line 1380 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13656 g_clear_error (&_inner_error_);
13657 #line 1380 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13658 return 0;
13659 #line 13658 "tracker-sparql-expression.c"
13660 }
13661 }
13662 #line 1381 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13663 _tmp7_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_GE, &_inner_error_);
13664 #line 1381 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13665 _tmp8_ = _tmp7_;
13666 #line 1381 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13667 if (_inner_error_ != NULL) {
13668 #line 1381 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13669 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13670 #line 1381 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13671 g_propagate_error (error, _inner_error_);
13672 #line 1381 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13673 return 0;
13674 #line 13673 "tracker-sparql-expression.c"
13675 } else {
13676 #line 1381 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13677 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13678 #line 1381 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13679 g_clear_error (&_inner_error_);
13680 #line 1381 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13681 return 0;
13682 #line 13681 "tracker-sparql-expression.c"
13683 }
13684 }
13685 #line 1381 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13686 if (_tmp8_) {
13687 #line 13686 "tracker-sparql-expression.c"
13688 GString* _tmp9_;
13689 glong _tmp10_;
13690 guint _tmp11_;
13691 TrackerPropertyType _tmp12_;
13692 TrackerPropertyType _tmp13_ = 0;
13693 TrackerPropertyType _tmp14_;
13694 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13695 _tmp9_ = sql;
13696 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13697 _tmp10_ = begin;
13698 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13699 _tmp11_ = n_bindings;
13700 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13701 _tmp12_ = optype;
13702 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13703 _tmp13_ = tracker_sparql_expression_process_relational_expression (self, _tmp9_, _tmp10_, _tmp11_, _tmp12_, " >= ", &_inner_error_);
13704 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13705 _tmp14_ = _tmp13_;
13706 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13707 if (_inner_error_ != NULL) {
13708 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13709 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13710 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13711 g_propagate_error (error, _inner_error_);
13712 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13713 return 0;
13714 #line 13713 "tracker-sparql-expression.c"
13715 } else {
13716 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13717 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13718 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13719 g_clear_error (&_inner_error_);
13720 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13721 return 0;
13722 #line 13721 "tracker-sparql-expression.c"
13723 }
13724 }
13725 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13726 result = _tmp14_;
13727 #line 1382 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13728 return result;
13729 #line 13728 "tracker-sparql-expression.c"
13730 } else {
13731 gboolean _tmp15_ = FALSE;
13732 gboolean _tmp16_;
13733 #line 1383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13734 _tmp15_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_EQ, &_inner_error_);
13735 #line 1383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13736 _tmp16_ = _tmp15_;
13737 #line 1383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13738 if (_inner_error_ != NULL) {
13739 #line 1383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13740 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13741 #line 1383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13742 g_propagate_error (error, _inner_error_);
13743 #line 1383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13744 return 0;
13745 #line 13744 "tracker-sparql-expression.c"
13746 } else {
13747 #line 1383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13748 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13749 #line 1383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13750 g_clear_error (&_inner_error_);
13751 #line 1383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13752 return 0;
13753 #line 13752 "tracker-sparql-expression.c"
13754 }
13755 }
13756 #line 1383 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13757 if (_tmp16_) {
13758 #line 13757 "tracker-sparql-expression.c"
13759 GString* _tmp17_;
13760 glong _tmp18_;
13761 guint _tmp19_;
13762 TrackerPropertyType _tmp20_;
13763 TrackerPropertyType _tmp21_ = 0;
13764 TrackerPropertyType _tmp22_;
13765 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13766 _tmp17_ = sql;
13767 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13768 _tmp18_ = begin;
13769 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13770 _tmp19_ = n_bindings;
13771 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13772 _tmp20_ = optype;
13773 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13774 _tmp21_ = tracker_sparql_expression_process_relational_expression (self, _tmp17_, _tmp18_, _tmp19_, _tmp20_, " = ", &_inner_error_);
13775 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13776 _tmp22_ = _tmp21_;
13777 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13778 if (_inner_error_ != NULL) {
13779 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13780 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13781 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13782 g_propagate_error (error, _inner_error_);
13783 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13784 return 0;
13785 #line 13784 "tracker-sparql-expression.c"
13786 } else {
13787 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13788 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13789 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13790 g_clear_error (&_inner_error_);
13791 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13792 return 0;
13793 #line 13792 "tracker-sparql-expression.c"
13794 }
13795 }
13796 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13797 result = _tmp22_;
13798 #line 1384 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13799 return result;
13800 #line 13799 "tracker-sparql-expression.c"
13801 } else {
13802 gboolean _tmp23_ = FALSE;
13803 gboolean _tmp24_;
13804 #line 1385 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13805 _tmp23_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_NE, &_inner_error_);
13806 #line 1385 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13807 _tmp24_ = _tmp23_;
13808 #line 1385 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13809 if (_inner_error_ != NULL) {
13810 #line 1385 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13811 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13812 #line 1385 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13813 g_propagate_error (error, _inner_error_);
13814 #line 1385 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13815 return 0;
13816 #line 13815 "tracker-sparql-expression.c"
13817 } else {
13818 #line 1385 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13819 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13820 #line 1385 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13821 g_clear_error (&_inner_error_);
13822 #line 1385 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13823 return 0;
13824 #line 13823 "tracker-sparql-expression.c"
13825 }
13826 }
13827 #line 1385 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13828 if (_tmp24_) {
13829 #line 13828 "tracker-sparql-expression.c"
13830 GString* _tmp25_;
13831 glong _tmp26_;
13832 guint _tmp27_;
13833 TrackerPropertyType _tmp28_;
13834 TrackerPropertyType _tmp29_ = 0;
13835 TrackerPropertyType _tmp30_;
13836 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13837 _tmp25_ = sql;
13838 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13839 _tmp26_ = begin;
13840 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13841 _tmp27_ = n_bindings;
13842 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13843 _tmp28_ = optype;
13844 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13845 _tmp29_ = tracker_sparql_expression_process_relational_expression (self, _tmp25_, _tmp26_, _tmp27_, _tmp28_, " <> ", &_inner_error_);
13846 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13847 _tmp30_ = _tmp29_;
13848 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13849 if (_inner_error_ != NULL) {
13850 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13851 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13852 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13853 g_propagate_error (error, _inner_error_);
13854 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13855 return 0;
13856 #line 13855 "tracker-sparql-expression.c"
13857 } else {
13858 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13859 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13860 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13861 g_clear_error (&_inner_error_);
13862 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13863 return 0;
13864 #line 13863 "tracker-sparql-expression.c"
13865 }
13866 }
13867 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13868 result = _tmp30_;
13869 #line 1386 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13870 return result;
13871 #line 13870 "tracker-sparql-expression.c"
13872 } else {
13873 gboolean _tmp31_ = FALSE;
13874 gboolean _tmp32_;
13875 #line 1387 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13876 _tmp31_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_LT, &_inner_error_);
13877 #line 1387 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13878 _tmp32_ = _tmp31_;
13879 #line 1387 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13880 if (_inner_error_ != NULL) {
13881 #line 1387 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13882 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13883 #line 1387 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13884 g_propagate_error (error, _inner_error_);
13885 #line 1387 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13886 return 0;
13887 #line 13886 "tracker-sparql-expression.c"
13888 } else {
13889 #line 1387 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13890 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13891 #line 1387 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13892 g_clear_error (&_inner_error_);
13893 #line 1387 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13894 return 0;
13895 #line 13894 "tracker-sparql-expression.c"
13896 }
13897 }
13898 #line 1387 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13899 if (_tmp32_) {
13900 #line 13899 "tracker-sparql-expression.c"
13901 GString* _tmp33_;
13902 glong _tmp34_;
13903 guint _tmp35_;
13904 TrackerPropertyType _tmp36_;
13905 TrackerPropertyType _tmp37_ = 0;
13906 TrackerPropertyType _tmp38_;
13907 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13908 _tmp33_ = sql;
13909 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13910 _tmp34_ = begin;
13911 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13912 _tmp35_ = n_bindings;
13913 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13914 _tmp36_ = optype;
13915 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13916 _tmp37_ = tracker_sparql_expression_process_relational_expression (self, _tmp33_, _tmp34_, _tmp35_, _tmp36_, " < ", &_inner_error_);
13917 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13918 _tmp38_ = _tmp37_;
13919 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13920 if (_inner_error_ != NULL) {
13921 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13922 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13923 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13924 g_propagate_error (error, _inner_error_);
13925 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13926 return 0;
13927 #line 13926 "tracker-sparql-expression.c"
13928 } else {
13929 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13930 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13931 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13932 g_clear_error (&_inner_error_);
13933 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13934 return 0;
13935 #line 13934 "tracker-sparql-expression.c"
13936 }
13937 }
13938 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13939 result = _tmp38_;
13940 #line 1388 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13941 return result;
13942 #line 13941 "tracker-sparql-expression.c"
13943 } else {
13944 gboolean _tmp39_ = FALSE;
13945 gboolean _tmp40_;
13946 #line 1389 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13947 _tmp39_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_LE, &_inner_error_);
13948 #line 1389 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13949 _tmp40_ = _tmp39_;
13950 #line 1389 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13951 if (_inner_error_ != NULL) {
13952 #line 1389 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13953 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13954 #line 1389 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13955 g_propagate_error (error, _inner_error_);
13956 #line 1389 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13957 return 0;
13958 #line 13957 "tracker-sparql-expression.c"
13959 } else {
13960 #line 1389 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13961 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
13962 #line 1389 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13963 g_clear_error (&_inner_error_);
13964 #line 1389 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13965 return 0;
13966 #line 13965 "tracker-sparql-expression.c"
13967 }
13968 }
13969 #line 1389 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13970 if (_tmp40_) {
13971 #line 13970 "tracker-sparql-expression.c"
13972 GString* _tmp41_;
13973 glong _tmp42_;
13974 guint _tmp43_;
13975 TrackerPropertyType _tmp44_;
13976 TrackerPropertyType _tmp45_ = 0;
13977 TrackerPropertyType _tmp46_;
13978 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13979 _tmp41_ = sql;
13980 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13981 _tmp42_ = begin;
13982 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13983 _tmp43_ = n_bindings;
13984 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13985 _tmp44_ = optype;
13986 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13987 _tmp45_ = tracker_sparql_expression_process_relational_expression (self, _tmp41_, _tmp42_, _tmp43_, _tmp44_, " <= ", &_inner_error_);
13988 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13989 _tmp46_ = _tmp45_;
13990 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13991 if (_inner_error_ != NULL) {
13992 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13993 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
13994 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13995 g_propagate_error (error, _inner_error_);
13996 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
13997 return 0;
13998 #line 13997 "tracker-sparql-expression.c"
13999 } else {
14000 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14001 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14002 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14003 g_clear_error (&_inner_error_);
14004 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14005 return 0;
14006 #line 14005 "tracker-sparql-expression.c"
14007 }
14008 }
14009 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14010 result = _tmp46_;
14011 #line 1390 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14012 return result;
14013 #line 14012 "tracker-sparql-expression.c"
14014 } else {
14015 gboolean _tmp47_ = FALSE;
14016 gboolean _tmp48_;
14017 #line 1391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14018 _tmp47_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_GT, &_inner_error_);
14019 #line 1391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14020 _tmp48_ = _tmp47_;
14021 #line 1391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14022 if (_inner_error_ != NULL) {
14023 #line 1391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14024 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14025 #line 1391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14026 g_propagate_error (error, _inner_error_);
14027 #line 1391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14028 return 0;
14029 #line 14028 "tracker-sparql-expression.c"
14030 } else {
14031 #line 1391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14032 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14033 #line 1391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14034 g_clear_error (&_inner_error_);
14035 #line 1391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14036 return 0;
14037 #line 14036 "tracker-sparql-expression.c"
14038 }
14039 }
14040 #line 1391 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14041 if (_tmp48_) {
14042 #line 14041 "tracker-sparql-expression.c"
14043 GString* _tmp49_;
14044 glong _tmp50_;
14045 guint _tmp51_;
14046 TrackerPropertyType _tmp52_;
14047 TrackerPropertyType _tmp53_ = 0;
14048 TrackerPropertyType _tmp54_;
14049 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14050 _tmp49_ = sql;
14051 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14052 _tmp50_ = begin;
14053 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14054 _tmp51_ = n_bindings;
14055 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14056 _tmp52_ = optype;
14057 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14058 _tmp53_ = tracker_sparql_expression_process_relational_expression (self, _tmp49_, _tmp50_, _tmp51_, _tmp52_, " > ", &_inner_error_);
14059 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14060 _tmp54_ = _tmp53_;
14061 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14062 if (_inner_error_ != NULL) {
14063 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14064 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14065 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14066 g_propagate_error (error, _inner_error_);
14067 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14068 return 0;
14069 #line 14068 "tracker-sparql-expression.c"
14070 } else {
14071 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14072 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14073 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14074 g_clear_error (&_inner_error_);
14075 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14076 return 0;
14077 #line 14076 "tracker-sparql-expression.c"
14078 }
14079 }
14080 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14081 result = _tmp54_;
14082 #line 1392 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14083 return result;
14084 #line 14083 "tracker-sparql-expression.c"
14085 } else {
14086 gboolean _tmp55_ = FALSE;
14087 gboolean _tmp56_;
14088 #line 1393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14089 _tmp55_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_IN, &_inner_error_);
14090 #line 1393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14091 _tmp56_ = _tmp55_;
14092 #line 1393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14093 if (_inner_error_ != NULL) {
14094 #line 1393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14095 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14096 #line 1393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14097 g_propagate_error (error, _inner_error_);
14098 #line 1393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14099 return 0;
14100 #line 14099 "tracker-sparql-expression.c"
14101 } else {
14102 #line 1393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14103 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14104 #line 1393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14105 g_clear_error (&_inner_error_);
14106 #line 1393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14107 return 0;
14108 #line 14107 "tracker-sparql-expression.c"
14109 }
14110 }
14111 #line 1393 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14112 if (_tmp56_) {
14113 #line 14112 "tracker-sparql-expression.c"
14114 GString* _tmp57_;
14115 TrackerPropertyType _tmp58_ = 0;
14116 TrackerPropertyType _tmp59_;
14117 #line 1394 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14118 _tmp57_ = sql;
14119 #line 1394 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14120 _tmp58_ = tracker_sparql_expression_translate_in (self, _tmp57_, FALSE, &_inner_error_);
14121 #line 1394 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14122 _tmp59_ = _tmp58_;
14123 #line 1394 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14124 if (_inner_error_ != NULL) {
14125 #line 1394 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14126 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14127 #line 1394 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14128 g_propagate_error (error, _inner_error_);
14129 #line 1394 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14130 return 0;
14131 #line 14130 "tracker-sparql-expression.c"
14132 } else {
14133 #line 1394 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14134 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14135 #line 1394 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14136 g_clear_error (&_inner_error_);
14137 #line 1394 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14138 return 0;
14139 #line 14138 "tracker-sparql-expression.c"
14140 }
14141 }
14142 #line 1394 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14143 result = _tmp59_;
14144 #line 1394 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14145 return result;
14146 #line 14145 "tracker-sparql-expression.c"
14147 } else {
14148 gboolean _tmp60_ = FALSE;
14149 gboolean _tmp61_;
14150 #line 1395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14151 _tmp60_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_NOT, &_inner_error_);
14152 #line 1395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14153 _tmp61_ = _tmp60_;
14154 #line 1395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14155 if (_inner_error_ != NULL) {
14156 #line 1395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14157 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14158 #line 1395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14159 g_propagate_error (error, _inner_error_);
14160 #line 1395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14161 return 0;
14162 #line 14161 "tracker-sparql-expression.c"
14163 } else {
14164 #line 1395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14165 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14166 #line 1395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14167 g_clear_error (&_inner_error_);
14168 #line 1395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14169 return 0;
14170 #line 14169 "tracker-sparql-expression.c"
14171 }
14172 }
14173 #line 1395 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14174 if (_tmp61_) {
14175 #line 14174 "tracker-sparql-expression.c"
14176 GString* _tmp62_;
14177 TrackerPropertyType _tmp63_ = 0;
14178 TrackerPropertyType _tmp64_;
14179 #line 1396 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14180 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OP_IN, &_inner_error_);
14181 #line 1396 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14182 if (_inner_error_ != NULL) {
14183 #line 1396 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14184 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14185 #line 1396 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14186 g_propagate_error (error, _inner_error_);
14187 #line 1396 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14188 return 0;
14189 #line 14188 "tracker-sparql-expression.c"
14190 } else {
14191 #line 1396 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14192 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14193 #line 1396 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14194 g_clear_error (&_inner_error_);
14195 #line 1396 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14196 return 0;
14197 #line 14196 "tracker-sparql-expression.c"
14198 }
14199 }
14200 #line 1397 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14201 _tmp62_ = sql;
14202 #line 1397 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14203 _tmp63_ = tracker_sparql_expression_translate_in (self, _tmp62_, TRUE, &_inner_error_);
14204 #line 1397 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14205 _tmp64_ = _tmp63_;
14206 #line 1397 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14207 if (_inner_error_ != NULL) {
14208 #line 1397 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14209 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14210 #line 1397 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14211 g_propagate_error (error, _inner_error_);
14212 #line 1397 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14213 return 0;
14214 #line 14213 "tracker-sparql-expression.c"
14215 } else {
14216 #line 1397 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14217 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14218 #line 1397 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14219 g_clear_error (&_inner_error_);
14220 #line 1397 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14221 return 0;
14222 #line 14221 "tracker-sparql-expression.c"
14223 }
14224 }
14225 #line 1397 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14226 result = _tmp64_;
14227 #line 1397 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14228 return result;
14229 #line 14228 "tracker-sparql-expression.c"
14230 }
14231 }
14232 }
14233 }
14234 }
14235 }
14236 }
14237 }
14238 #line 1399 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14239 result = optype;
14240 #line 1399 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14241 return result;
14242 #line 14241 "tracker-sparql-expression.c"
14243 }
14244
14245
14246 static TrackerPropertyType tracker_sparql_expression_translate_value_logical (TrackerSparqlExpression* self, GString* sql, GError** error) {
14247 TrackerPropertyType result = 0;
14248 GString* _tmp0_;
14249 TrackerPropertyType _tmp1_ = 0;
14250 TrackerPropertyType _tmp2_;
14251 GError * _inner_error_ = NULL;
14252 #line 1402 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14253 g_return_val_if_fail (self != NULL, 0);
14254 #line 1402 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14255 g_return_val_if_fail (sql != NULL, 0);
14256 #line 1403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14257 _tmp0_ = sql;
14258 #line 1403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14259 _tmp1_ = tracker_sparql_expression_translate_relational_expression (self, _tmp0_, &_inner_error_);
14260 #line 1403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14261 _tmp2_ = _tmp1_;
14262 #line 1403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14263 if (_inner_error_ != NULL) {
14264 #line 1403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14265 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14266 #line 1403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14267 g_propagate_error (error, _inner_error_);
14268 #line 1403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14269 return 0;
14270 #line 14269 "tracker-sparql-expression.c"
14271 } else {
14272 #line 1403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14273 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14274 #line 1403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14275 g_clear_error (&_inner_error_);
14276 #line 1403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14277 return 0;
14278 #line 14277 "tracker-sparql-expression.c"
14279 }
14280 }
14281 #line 1403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14282 result = _tmp2_;
14283 #line 1403 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14284 return result;
14285 #line 14284 "tracker-sparql-expression.c"
14286 }
14287
14288
14289 static TrackerPropertyType tracker_sparql_expression_translate_conditional_and_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
14290 TrackerPropertyType result = 0;
14291 GString* _tmp0_;
14292 gssize _tmp1_;
14293 glong begin;
14294 GString* _tmp2_;
14295 TrackerPropertyType _tmp3_ = 0;
14296 TrackerPropertyType optype;
14297 GError * _inner_error_ = NULL;
14298 #line 1406 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14299 g_return_val_if_fail (self != NULL, 0);
14300 #line 1406 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14301 g_return_val_if_fail (sql != NULL, 0);
14302 #line 1407 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14303 _tmp0_ = sql;
14304 #line 1407 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14305 _tmp1_ = _tmp0_->len;
14306 #line 1407 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14307 begin = (glong) _tmp1_;
14308 #line 1408 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14309 _tmp2_ = sql;
14310 #line 1408 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14311 _tmp3_ = tracker_sparql_expression_translate_value_logical (self, _tmp2_, &_inner_error_);
14312 #line 1408 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14313 optype = _tmp3_;
14314 #line 1408 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14315 if (_inner_error_ != NULL) {
14316 #line 1408 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14317 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14318 #line 1408 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14319 g_propagate_error (error, _inner_error_);
14320 #line 1408 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14321 return 0;
14322 #line 14321 "tracker-sparql-expression.c"
14323 } else {
14324 #line 1408 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14325 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14326 #line 1408 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14327 g_clear_error (&_inner_error_);
14328 #line 1408 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14329 return 0;
14330 #line 14329 "tracker-sparql-expression.c"
14331 }
14332 }
14333 #line 1409 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14334 while (TRUE) {
14335 #line 14334 "tracker-sparql-expression.c"
14336 gboolean _tmp4_ = FALSE;
14337 gboolean _tmp5_;
14338 TrackerPropertyType _tmp6_;
14339 GString* _tmp8_;
14340 glong _tmp9_;
14341 GString* _tmp10_;
14342 GString* _tmp11_;
14343 TrackerPropertyType _tmp12_ = 0;
14344 TrackerPropertyType _tmp13_;
14345 GString* _tmp14_;
14346 TrackerPropertyType _tmp15_;
14347 #line 1409 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14348 _tmp4_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_AND, &_inner_error_);
14349 #line 1409 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14350 _tmp5_ = _tmp4_;
14351 #line 1409 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14352 if (_inner_error_ != NULL) {
14353 #line 1409 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14354 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14355 #line 1409 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14356 g_propagate_error (error, _inner_error_);
14357 #line 1409 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14358 return 0;
14359 #line 14358 "tracker-sparql-expression.c"
14360 } else {
14361 #line 1409 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14362 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14363 #line 1409 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14364 g_clear_error (&_inner_error_);
14365 #line 1409 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14366 return 0;
14367 #line 14366 "tracker-sparql-expression.c"
14368 }
14369 }
14370 #line 1409 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14371 if (!_tmp5_) {
14372 #line 1409 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14373 break;
14374 #line 14373 "tracker-sparql-expression.c"
14375 }
14376 #line 1410 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14377 _tmp6_ = optype;
14378 #line 1410 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14379 if (_tmp6_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
14380 #line 14379 "tracker-sparql-expression.c"
14381 GError* _tmp7_ = NULL;
14382 #line 1411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14383 _tmp7_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
14384 #line 1411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14385 _inner_error_ = _tmp7_;
14386 #line 1411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14387 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14388 #line 1411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14389 g_propagate_error (error, _inner_error_);
14390 #line 1411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14391 return 0;
14392 #line 14391 "tracker-sparql-expression.c"
14393 } else {
14394 #line 1411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14395 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14396 #line 1411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14397 g_clear_error (&_inner_error_);
14398 #line 1411 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14399 return 0;
14400 #line 14399 "tracker-sparql-expression.c"
14401 }
14402 }
14403 #line 1413 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14404 _tmp8_ = sql;
14405 #line 1413 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14406 _tmp9_ = begin;
14407 #line 1413 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14408 g_string_insert (_tmp8_, (gssize) _tmp9_, "(");
14409 #line 1414 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14410 _tmp10_ = sql;
14411 #line 1414 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14412 g_string_append (_tmp10_, " AND ");
14413 #line 1415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14414 _tmp11_ = sql;
14415 #line 1415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14416 _tmp12_ = tracker_sparql_expression_translate_value_logical (self, _tmp11_, &_inner_error_);
14417 #line 1415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14418 _tmp13_ = _tmp12_;
14419 #line 1415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14420 if (_inner_error_ != NULL) {
14421 #line 1415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14422 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14423 #line 1415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14424 g_propagate_error (error, _inner_error_);
14425 #line 1415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14426 return 0;
14427 #line 14426 "tracker-sparql-expression.c"
14428 } else {
14429 #line 1415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14430 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14431 #line 1415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14432 g_clear_error (&_inner_error_);
14433 #line 1415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14434 return 0;
14435 #line 14434 "tracker-sparql-expression.c"
14436 }
14437 }
14438 #line 1415 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14439 optype = _tmp13_;
14440 #line 1416 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14441 _tmp14_ = sql;
14442 #line 1416 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14443 g_string_append (_tmp14_, ")");
14444 #line 1417 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14445 _tmp15_ = optype;
14446 #line 1417 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14447 if (_tmp15_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
14448 #line 14447 "tracker-sparql-expression.c"
14449 GError* _tmp16_ = NULL;
14450 #line 1418 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14451 _tmp16_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
14452 #line 1418 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14453 _inner_error_ = _tmp16_;
14454 #line 1418 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14455 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14456 #line 1418 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14457 g_propagate_error (error, _inner_error_);
14458 #line 1418 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14459 return 0;
14460 #line 14459 "tracker-sparql-expression.c"
14461 } else {
14462 #line 1418 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14463 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14464 #line 1418 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14465 g_clear_error (&_inner_error_);
14466 #line 1418 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14467 return 0;
14468 #line 14467 "tracker-sparql-expression.c"
14469 }
14470 }
14471 }
14472 #line 1421 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14473 result = optype;
14474 #line 1421 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14475 return result;
14476 #line 14475 "tracker-sparql-expression.c"
14477 }
14478
14479
14480 static TrackerPropertyType tracker_sparql_expression_translate_conditional_or_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
14481 TrackerPropertyType result = 0;
14482 GString* _tmp0_;
14483 gssize _tmp1_;
14484 glong begin;
14485 GString* _tmp2_;
14486 TrackerPropertyType _tmp3_ = 0;
14487 TrackerPropertyType optype;
14488 GError * _inner_error_ = NULL;
14489 #line 1424 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14490 g_return_val_if_fail (self != NULL, 0);
14491 #line 1424 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14492 g_return_val_if_fail (sql != NULL, 0);
14493 #line 1425 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14494 _tmp0_ = sql;
14495 #line 1425 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14496 _tmp1_ = _tmp0_->len;
14497 #line 1425 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14498 begin = (glong) _tmp1_;
14499 #line 1426 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14500 _tmp2_ = sql;
14501 #line 1426 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14502 _tmp3_ = tracker_sparql_expression_translate_conditional_and_expression (self, _tmp2_, &_inner_error_);
14503 #line 1426 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14504 optype = _tmp3_;
14505 #line 1426 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14506 if (_inner_error_ != NULL) {
14507 #line 1426 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14508 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14509 #line 1426 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14510 g_propagate_error (error, _inner_error_);
14511 #line 1426 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14512 return 0;
14513 #line 14512 "tracker-sparql-expression.c"
14514 } else {
14515 #line 1426 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14516 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14517 #line 1426 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14518 g_clear_error (&_inner_error_);
14519 #line 1426 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14520 return 0;
14521 #line 14520 "tracker-sparql-expression.c"
14522 }
14523 }
14524 #line 1427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14525 while (TRUE) {
14526 #line 14525 "tracker-sparql-expression.c"
14527 gboolean _tmp4_ = FALSE;
14528 gboolean _tmp5_;
14529 TrackerPropertyType _tmp6_;
14530 GString* _tmp8_;
14531 glong _tmp9_;
14532 GString* _tmp10_;
14533 GString* _tmp11_;
14534 TrackerPropertyType _tmp12_ = 0;
14535 TrackerPropertyType _tmp13_;
14536 GString* _tmp14_;
14537 TrackerPropertyType _tmp15_;
14538 #line 1427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14539 _tmp4_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_OR, &_inner_error_);
14540 #line 1427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14541 _tmp5_ = _tmp4_;
14542 #line 1427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14543 if (_inner_error_ != NULL) {
14544 #line 1427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14545 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14546 #line 1427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14547 g_propagate_error (error, _inner_error_);
14548 #line 1427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14549 return 0;
14550 #line 14549 "tracker-sparql-expression.c"
14551 } else {
14552 #line 1427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14553 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14554 #line 1427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14555 g_clear_error (&_inner_error_);
14556 #line 1427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14557 return 0;
14558 #line 14557 "tracker-sparql-expression.c"
14559 }
14560 }
14561 #line 1427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14562 if (!_tmp5_) {
14563 #line 1427 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14564 break;
14565 #line 14564 "tracker-sparql-expression.c"
14566 }
14567 #line 1428 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14568 _tmp6_ = optype;
14569 #line 1428 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14570 if (_tmp6_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
14571 #line 14570 "tracker-sparql-expression.c"
14572 GError* _tmp7_ = NULL;
14573 #line 1429 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14574 _tmp7_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
14575 #line 1429 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14576 _inner_error_ = _tmp7_;
14577 #line 1429 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14578 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14579 #line 1429 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14580 g_propagate_error (error, _inner_error_);
14581 #line 1429 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14582 return 0;
14583 #line 14582 "tracker-sparql-expression.c"
14584 } else {
14585 #line 1429 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14586 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14587 #line 1429 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14588 g_clear_error (&_inner_error_);
14589 #line 1429 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14590 return 0;
14591 #line 14590 "tracker-sparql-expression.c"
14592 }
14593 }
14594 #line 1431 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14595 _tmp8_ = sql;
14596 #line 1431 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14597 _tmp9_ = begin;
14598 #line 1431 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14599 g_string_insert (_tmp8_, (gssize) _tmp9_, "(");
14600 #line 1432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14601 _tmp10_ = sql;
14602 #line 1432 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14603 g_string_append (_tmp10_, " OR ");
14604 #line 1433 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14605 _tmp11_ = sql;
14606 #line 1433 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14607 _tmp12_ = tracker_sparql_expression_translate_conditional_and_expression (self, _tmp11_, &_inner_error_);
14608 #line 1433 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14609 _tmp13_ = _tmp12_;
14610 #line 1433 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14611 if (_inner_error_ != NULL) {
14612 #line 1433 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14613 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14614 #line 1433 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14615 g_propagate_error (error, _inner_error_);
14616 #line 1433 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14617 return 0;
14618 #line 14617 "tracker-sparql-expression.c"
14619 } else {
14620 #line 1433 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14621 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14622 #line 1433 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14623 g_clear_error (&_inner_error_);
14624 #line 1433 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14625 return 0;
14626 #line 14625 "tracker-sparql-expression.c"
14627 }
14628 }
14629 #line 1433 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14630 optype = _tmp13_;
14631 #line 1434 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14632 _tmp14_ = sql;
14633 #line 1434 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14634 g_string_append (_tmp14_, ")");
14635 #line 1435 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14636 _tmp15_ = optype;
14637 #line 1435 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14638 if (_tmp15_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
14639 #line 14638 "tracker-sparql-expression.c"
14640 GError* _tmp16_ = NULL;
14641 #line 1436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14642 _tmp16_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
14643 #line 1436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14644 _inner_error_ = _tmp16_;
14645 #line 1436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14646 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14647 #line 1436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14648 g_propagate_error (error, _inner_error_);
14649 #line 1436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14650 return 0;
14651 #line 14650 "tracker-sparql-expression.c"
14652 } else {
14653 #line 1436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14654 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14655 #line 1436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14656 g_clear_error (&_inner_error_);
14657 #line 1436 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14658 return 0;
14659 #line 14658 "tracker-sparql-expression.c"
14660 }
14661 }
14662 }
14663 #line 1439 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14664 result = optype;
14665 #line 1439 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14666 return result;
14667 #line 14666 "tracker-sparql-expression.c"
14668 }
14669
14670
14671 TrackerPropertyType tracker_sparql_expression_translate_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
14672 TrackerPropertyType result = 0;
14673 GString* _tmp0_;
14674 TrackerPropertyType _tmp1_ = 0;
14675 TrackerPropertyType _tmp2_;
14676 GError * _inner_error_ = NULL;
14677 #line 1442 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14678 g_return_val_if_fail (self != NULL, 0);
14679 #line 1442 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14680 g_return_val_if_fail (sql != NULL, 0);
14681 #line 1443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14682 _tmp0_ = sql;
14683 #line 1443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14684 _tmp1_ = tracker_sparql_expression_translate_conditional_or_expression (self, _tmp0_, &_inner_error_);
14685 #line 1443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14686 _tmp2_ = _tmp1_;
14687 #line 1443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14688 if (_inner_error_ != NULL) {
14689 #line 1443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14690 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14691 #line 1443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14692 g_propagate_error (error, _inner_error_);
14693 #line 1443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14694 return 0;
14695 #line 14694 "tracker-sparql-expression.c"
14696 } else {
14697 #line 1443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14698 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14699 #line 1443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14700 g_clear_error (&_inner_error_);
14701 #line 1443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14702 return 0;
14703 #line 14702 "tracker-sparql-expression.c"
14704 }
14705 }
14706 #line 1443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14707 result = _tmp2_;
14708 #line 1443 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14709 return result;
14710 #line 14709 "tracker-sparql-expression.c"
14711 }
14712
14713
14714 static TrackerPropertyType tracker_sparql_expression_translate_bracketted_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
14715 TrackerPropertyType result = 0;
14716 TrackerSparqlTokenType _tmp0_ = 0;
14717 GString* _tmp9_;
14718 TrackerPropertyType _tmp10_ = 0;
14719 TrackerPropertyType optype;
14720 GError * _inner_error_ = NULL;
14721 #line 1446 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14722 g_return_val_if_fail (self != NULL, 0);
14723 #line 1446 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14724 g_return_val_if_fail (sql != NULL, 0);
14725 #line 1447 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14726 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
14727 #line 1447 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14728 if (_inner_error_ != NULL) {
14729 #line 1447 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14730 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14731 #line 1447 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14732 g_propagate_error (error, _inner_error_);
14733 #line 1447 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14734 return 0;
14735 #line 14734 "tracker-sparql-expression.c"
14736 } else {
14737 #line 1447 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14738 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14739 #line 1447 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14740 g_clear_error (&_inner_error_);
14741 #line 1447 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14742 return 0;
14743 #line 14742 "tracker-sparql-expression.c"
14744 }
14745 }
14746 #line 1449 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14747 _tmp0_ = tracker_sparql_expression_current (self);
14748 #line 1449 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14749 if (_tmp0_ == TRACKER_SPARQL_TOKEN_TYPE_SELECT) {
14750 #line 14749 "tracker-sparql-expression.c"
14751 GString* _tmp1_;
14752 TrackerSparqlPattern* _tmp2_;
14753 TrackerSparqlPattern* _tmp3_;
14754 GString* _tmp4_;
14755 TrackerSparqlSelectContext* _tmp5_ = NULL;
14756 TrackerSparqlSelectContext* select_context;
14757 GString* _tmp6_;
14758 TrackerSparqlSelectContext* _tmp7_;
14759 TrackerPropertyType _tmp8_;
14760 #line 1452 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14761 _tmp1_ = sql;
14762 #line 1452 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14763 g_string_append (_tmp1_, "(");
14764 #line 1453 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14765 _tmp2_ = tracker_sparql_expression_get_pattern (self);
14766 #line 1453 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14767 _tmp3_ = _tmp2_;
14768 #line 1453 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14769 _tmp4_ = sql;
14770 #line 1453 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14771 _tmp5_ = tracker_sparql_pattern_translate_select (_tmp3_, _tmp4_, TRUE, TRUE, &_inner_error_);
14772 #line 1453 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14773 select_context = _tmp5_;
14774 #line 1453 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14775 if (_inner_error_ != NULL) {
14776 #line 1453 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14777 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14778 #line 1453 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14779 g_propagate_error (error, _inner_error_);
14780 #line 1453 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14781 return 0;
14782 #line 14781 "tracker-sparql-expression.c"
14783 } else {
14784 #line 1453 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14785 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14786 #line 1453 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14787 g_clear_error (&_inner_error_);
14788 #line 1453 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14789 return 0;
14790 #line 14789 "tracker-sparql-expression.c"
14791 }
14792 }
14793 #line 1454 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14794 _tmp6_ = sql;
14795 #line 1454 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14796 g_string_append (_tmp6_, ")");
14797 #line 1456 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14798 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
14799 #line 1456 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14800 if (_inner_error_ != NULL) {
14801 #line 1456 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14802 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14803 #line 1456 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14804 g_propagate_error (error, _inner_error_);
14805 #line 1456 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14806 _tracker_sparql_context_unref0 (select_context);
14807 #line 1456 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14808 return 0;
14809 #line 14808 "tracker-sparql-expression.c"
14810 } else {
14811 #line 1456 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14812 _tracker_sparql_context_unref0 (select_context);
14813 #line 1456 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14814 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14815 #line 1456 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14816 g_clear_error (&_inner_error_);
14817 #line 1456 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14818 return 0;
14819 #line 14818 "tracker-sparql-expression.c"
14820 }
14821 }
14822 #line 1457 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14823 _tmp7_ = select_context;
14824 #line 1457 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14825 _tmp8_ = _tmp7_->type;
14826 #line 1457 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14827 result = _tmp8_;
14828 #line 1457 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14829 _tracker_sparql_context_unref0 (select_context);
14830 #line 1457 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14831 return result;
14832 #line 14831 "tracker-sparql-expression.c"
14833 }
14834 #line 1460 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14835 _tmp9_ = sql;
14836 #line 1460 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14837 _tmp10_ = tracker_sparql_expression_translate_expression (self, _tmp9_, &_inner_error_);
14838 #line 1460 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14839 optype = _tmp10_;
14840 #line 1460 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14841 if (_inner_error_ != NULL) {
14842 #line 1460 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14843 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14844 #line 1460 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14845 g_propagate_error (error, _inner_error_);
14846 #line 1460 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14847 return 0;
14848 #line 14847 "tracker-sparql-expression.c"
14849 } else {
14850 #line 1460 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14851 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14852 #line 1460 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14853 g_clear_error (&_inner_error_);
14854 #line 1460 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14855 return 0;
14856 #line 14855 "tracker-sparql-expression.c"
14857 }
14858 }
14859 #line 1461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14860 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
14861 #line 1461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14862 if (_inner_error_ != NULL) {
14863 #line 1461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14864 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14865 #line 1461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14866 g_propagate_error (error, _inner_error_);
14867 #line 1461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14868 return 0;
14869 #line 14868 "tracker-sparql-expression.c"
14870 } else {
14871 #line 1461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14872 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14873 #line 1461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14874 g_clear_error (&_inner_error_);
14875 #line 1461 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14876 return 0;
14877 #line 14876 "tracker-sparql-expression.c"
14878 }
14879 }
14880 #line 1462 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14881 result = optype;
14882 #line 1462 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14883 return result;
14884 #line 14883 "tracker-sparql-expression.c"
14885 }
14886
14887
14888 static TrackerPropertyType tracker_sparql_expression_translate_aggregate_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
14889 TrackerPropertyType result = 0;
14890 gboolean _tmp0_ = FALSE;
14891 gboolean _tmp1_;
14892 GString* _tmp3_;
14893 TrackerPropertyType _tmp4_ = 0;
14894 TrackerPropertyType optype;
14895 GError * _inner_error_ = NULL;
14896 #line 1465 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14897 g_return_val_if_fail (self != NULL, 0);
14898 #line 1465 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14899 g_return_val_if_fail (sql != NULL, 0);
14900 #line 1466 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14901 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
14902 #line 1466 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14903 if (_inner_error_ != NULL) {
14904 #line 1466 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14905 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14906 #line 1466 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14907 g_propagate_error (error, _inner_error_);
14908 #line 1466 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14909 return 0;
14910 #line 14909 "tracker-sparql-expression.c"
14911 } else {
14912 #line 1466 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14913 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14914 #line 1466 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14915 g_clear_error (&_inner_error_);
14916 #line 1466 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14917 return 0;
14918 #line 14917 "tracker-sparql-expression.c"
14919 }
14920 }
14921 #line 1467 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14922 _tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DISTINCT, &_inner_error_);
14923 #line 1467 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14924 _tmp1_ = _tmp0_;
14925 #line 1467 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14926 if (_inner_error_ != NULL) {
14927 #line 1467 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14928 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14929 #line 1467 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14930 g_propagate_error (error, _inner_error_);
14931 #line 1467 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14932 return 0;
14933 #line 14932 "tracker-sparql-expression.c"
14934 } else {
14935 #line 1467 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14936 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14937 #line 1467 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14938 g_clear_error (&_inner_error_);
14939 #line 1467 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14940 return 0;
14941 #line 14940 "tracker-sparql-expression.c"
14942 }
14943 }
14944 #line 1467 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14945 if (_tmp1_) {
14946 #line 14945 "tracker-sparql-expression.c"
14947 GString* _tmp2_;
14948 #line 1468 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14949 _tmp2_ = sql;
14950 #line 1468 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14951 g_string_append (_tmp2_, "DISTINCT ");
14952 #line 14951 "tracker-sparql-expression.c"
14953 }
14954 #line 1470 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14955 _tmp3_ = sql;
14956 #line 1470 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14957 _tmp4_ = tracker_sparql_expression_translate_expression (self, _tmp3_, &_inner_error_);
14958 #line 1470 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14959 optype = _tmp4_;
14960 #line 1470 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14961 if (_inner_error_ != NULL) {
14962 #line 1470 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14963 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14964 #line 1470 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14965 g_propagate_error (error, _inner_error_);
14966 #line 1470 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14967 return 0;
14968 #line 14967 "tracker-sparql-expression.c"
14969 } else {
14970 #line 1470 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14971 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14972 #line 1470 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14973 g_clear_error (&_inner_error_);
14974 #line 1470 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14975 return 0;
14976 #line 14975 "tracker-sparql-expression.c"
14977 }
14978 }
14979 #line 1471 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14980 tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
14981 #line 1471 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14982 if (_inner_error_ != NULL) {
14983 #line 1471 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14984 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
14985 #line 1471 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14986 g_propagate_error (error, _inner_error_);
14987 #line 1471 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14988 return 0;
14989 #line 14988 "tracker-sparql-expression.c"
14990 } else {
14991 #line 1471 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14992 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14993 #line 1471 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14994 g_clear_error (&_inner_error_);
14995 #line 1471 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
14996 return 0;
14997 #line 14996 "tracker-sparql-expression.c"
14998 }
14999 }
15000 #line 1472 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15001 result = optype;
15002 #line 1472 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15003 return result;
15004 #line 15003 "tracker-sparql-expression.c"
15005 }
15006
15007
15008 TrackerPropertyType tracker_sparql_expression_translate_constraint (TrackerSparqlExpression* self, GString* sql, GError** error) {
15009 TrackerPropertyType result = 0;
15010 TrackerSparqlTokenType _tmp0_ = 0;
15011 GError * _inner_error_ = NULL;
15012 #line 1475 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15013 g_return_val_if_fail (self != NULL, 0);
15014 #line 1475 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15015 g_return_val_if_fail (sql != NULL, 0);
15016 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15017 _tmp0_ = tracker_sparql_expression_current (self);
15018 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15019 switch (_tmp0_) {
15020 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15021 case TRACKER_SPARQL_TOKEN_TYPE_STR:
15022 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15023 case TRACKER_SPARQL_TOKEN_TYPE_LANG:
15024 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15025 case TRACKER_SPARQL_TOKEN_TYPE_LANGMATCHES:
15026 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15027 case TRACKER_SPARQL_TOKEN_TYPE_DATATYPE:
15028 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15029 case TRACKER_SPARQL_TOKEN_TYPE_BOUND:
15030 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15031 case TRACKER_SPARQL_TOKEN_TYPE_IF:
15032 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15033 case TRACKER_SPARQL_TOKEN_TYPE_SAMETERM:
15034 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15035 case TRACKER_SPARQL_TOKEN_TYPE_ISIRI:
15036 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15037 case TRACKER_SPARQL_TOKEN_TYPE_ISURI:
15038 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15039 case TRACKER_SPARQL_TOKEN_TYPE_ISBLANK:
15040 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15041 case TRACKER_SPARQL_TOKEN_TYPE_ISLITERAL:
15042 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15043 case TRACKER_SPARQL_TOKEN_TYPE_REGEX:
15044 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15045 case TRACKER_SPARQL_TOKEN_TYPE_EXISTS:
15046 #line 1476 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15047 case TRACKER_SPARQL_TOKEN_TYPE_NOT:
15048 #line 15047 "tracker-sparql-expression.c"
15049 {
15050 GString* _tmp1_;
15051 TrackerPropertyType _tmp2_ = 0;
15052 TrackerPropertyType _tmp3_;
15053 #line 1491 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15054 _tmp1_ = sql;
15055 #line 1491 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15056 _tmp2_ = tracker_sparql_expression_translate_primary_expression (self, _tmp1_, &_inner_error_);
15057 #line 1491 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15058 _tmp3_ = _tmp2_;
15059 #line 1491 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15060 if (_inner_error_ != NULL) {
15061 #line 1491 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15062 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
15063 #line 1491 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15064 g_propagate_error (error, _inner_error_);
15065 #line 1491 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15066 return 0;
15067 #line 15066 "tracker-sparql-expression.c"
15068 } else {
15069 #line 1491 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15070 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
15071 #line 1491 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15072 g_clear_error (&_inner_error_);
15073 #line 1491 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15074 return 0;
15075 #line 15074 "tracker-sparql-expression.c"
15076 }
15077 }
15078 #line 1491 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15079 result = _tmp3_;
15080 #line 1491 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15081 return result;
15082 #line 15081 "tracker-sparql-expression.c"
15083 }
15084 default:
15085 {
15086 GString* _tmp4_;
15087 TrackerPropertyType _tmp5_ = 0;
15088 TrackerPropertyType _tmp6_;
15089 #line 1493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15090 _tmp4_ = sql;
15091 #line 1493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15092 _tmp5_ = tracker_sparql_expression_translate_bracketted_expression (self, _tmp4_, &_inner_error_);
15093 #line 1493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15094 _tmp6_ = _tmp5_;
15095 #line 1493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15096 if (_inner_error_ != NULL) {
15097 #line 1493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15098 if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
15099 #line 1493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15100 g_propagate_error (error, _inner_error_);
15101 #line 1493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15102 return 0;
15103 #line 15102 "tracker-sparql-expression.c"
15104 } else {
15105 #line 1493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15106 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
15107 #line 1493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15108 g_clear_error (&_inner_error_);
15109 #line 1493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15110 return 0;
15111 #line 15110 "tracker-sparql-expression.c"
15112 }
15113 }
15114 #line 1493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15115 result = _tmp6_;
15116 #line 1493 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15117 return result;
15118 #line 15117 "tracker-sparql-expression.c"
15119 }
15120 }
15121 }
15122
15123
15124 static TrackerSparqlContext* tracker_sparql_expression_get_context (TrackerSparqlExpression* self) {
15125 TrackerSparqlContext* result;
15126 TrackerSparqlQuery* _tmp0_;
15127 TrackerSparqlContext* _tmp1_;
15128 #line 36 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15129 g_return_val_if_fail (self != NULL, NULL);
15130 #line 36 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15131 _tmp0_ = self->priv->query;
15132 #line 36 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15133 _tmp1_ = _tmp0_->context;
15134 #line 36 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15135 result = _tmp1_;
15136 #line 36 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15137 return result;
15138 #line 15137 "tracker-sparql-expression.c"
15139 }
15140
15141
15142 static TrackerSparqlPattern* tracker_sparql_expression_get_pattern (TrackerSparqlExpression* self) {
15143 TrackerSparqlPattern* result;
15144 TrackerSparqlQuery* _tmp0_;
15145 TrackerSparqlPattern* _tmp1_;
15146 #line 40 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15147 g_return_val_if_fail (self != NULL, NULL);
15148 #line 40 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15149 _tmp0_ = self->priv->query;
15150 #line 40 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15151 _tmp1_ = _tmp0_->pattern;
15152 #line 40 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15153 result = _tmp1_;
15154 #line 40 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15155 return result;
15156 #line 15155 "tracker-sparql-expression.c"
15157 }
15158
15159
15160 static void tracker_sparql_expression_class_init (TrackerSparqlExpressionClass * klass) {
15161 #line 20 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15162 tracker_sparql_expression_parent_class = g_type_class_peek_parent (klass);
15163 #line 20 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15164 g_type_class_add_private (klass, sizeof (TrackerSparqlExpressionPrivate));
15165 #line 20 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15166 G_OBJECT_CLASS (klass)->get_property = _vala_tracker_sparql_expression_get_property;
15167 #line 20 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15168 G_OBJECT_CLASS (klass)->finalize = tracker_sparql_expression_finalize;
15169 #line 15168 "tracker-sparql-expression.c"
15170 }
15171
15172
15173 static void tracker_sparql_expression_instance_init (TrackerSparqlExpression * self) {
15174 #line 20 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15175 self->priv = TRACKER_SPARQL_EXPRESSION_GET_PRIVATE (self);
15176 #line 15175 "tracker-sparql-expression.c"
15177 }
15178
15179
15180 static void tracker_sparql_expression_finalize (GObject* obj) {
15181 TrackerSparqlExpression * self;
15182 #line 20 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15183 self = G_TYPE_CHECK_INSTANCE_CAST (obj, TRACKER_SPARQL_TYPE_EXPRESSION, TrackerSparqlExpression);
15184 #line 29 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15185 _g_free0 (self->priv->fts_sql);
15186 #line 20 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15187 G_OBJECT_CLASS (tracker_sparql_expression_parent_class)->finalize (obj);
15188 #line 15187 "tracker-sparql-expression.c"
15189 }
15190
15191
15192 GType tracker_sparql_expression_get_type (void) {
15193 static volatile gsize tracker_sparql_expression_type_id__volatile = 0;
15194 if (g_once_init_enter (&tracker_sparql_expression_type_id__volatile)) {
15195 static const GTypeInfo g_define_type_info = { sizeof (TrackerSparqlExpressionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tracker_sparql_expression_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TrackerSparqlExpression), 0, (GInstanceInitFunc) tracker_sparql_expression_instance_init, NULL };
15196 GType tracker_sparql_expression_type_id;
15197 tracker_sparql_expression_type_id = g_type_register_static (G_TYPE_OBJECT, "TrackerSparqlExpression", &g_define_type_info, 0);
15198 g_once_init_leave (&tracker_sparql_expression_type_id__volatile, tracker_sparql_expression_type_id);
15199 }
15200 return tracker_sparql_expression_type_id__volatile;
15201 }
15202
15203
(emitted by gcc) 15204 static void _vala_tracker_sparql_expression_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
15205 TrackerSparqlExpression * self;
15206 self = G_TYPE_CHECK_INSTANCE_CAST (object, TRACKER_SPARQL_TYPE_EXPRESSION, TrackerSparqlExpression);
(emitted by clang-analyzer)TODO: a detailed trace is available in the data model (not yet rendered in this report)
15207 #line 20 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15208 switch (property_id) {
15209 #line 15208 "tracker-sparql-expression.c"
15210 default:
15211 #line 20 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15212 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
15213 #line 20 "/home/martyn/Source/tracker/src/libtracker-data/tracker-sparql-expression.vala"
15214 break;
15215 #line 15214 "tracker-sparql-expression.c"
15216 }
15217 }
15218
15219
15220 static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
15221 if ((array != NULL) && (destroy_func != NULL)) {
15222 int i;
15223 for (i = 0; i < array_length; i = i + 1) {
15224 if (((gpointer*) array)[i] != NULL) {
15225 destroy_func (((gpointer*) array)[i]);
15226 }
15227 }
15228 }
15229 }
15230
15231
15232 static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
15233 _vala_array_destroy (array, array_length, destroy_func);
15234 g_free (array);
15235 }
15236
15237
15238 static gint _vala_array_length (gpointer array) {
15239 int length;
15240 length = 0;
15241 if (array) {
15242 while (((gpointer*) array)[length]) {
15243 length++;
15244 }
15245 }
15246 return length;
15247 }