/* tracker-sparql-expression.c generated by valac 0.30.0, the Vala compiler
 * generated from tracker-sparql-expression.vala, do not modify */

/*
 * Copyright (C) 2008-2010, Nokia
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the
 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA  02110-1301, USA.
 */

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include "libtracker-sparql/tracker-sparql.h"
#include "libtracker-data/tracker-property.h"
#include "libtracker-data/tracker-db-interface-sqlite.h"
#include "libtracker-data/tracker-class.h"
#include "libtracker-data/tracker-collation.h"
#include "libtracker-data/tracker-ontologies.h"


#define TRACKER_SPARQL_TYPE_EXPRESSION (tracker_sparql_expression_get_type ())
#define TRACKER_SPARQL_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_EXPRESSION, TrackerSparqlExpression))
#define TRACKER_SPARQL_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_EXPRESSION, TrackerSparqlExpressionClass))
#define TRACKER_SPARQL_IS_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_EXPRESSION))
#define TRACKER_SPARQL_IS_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_EXPRESSION))
#define TRACKER_SPARQL_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_EXPRESSION, TrackerSparqlExpressionClass))

typedef struct _TrackerSparqlExpression TrackerSparqlExpression;
typedef struct _TrackerSparqlExpressionClass TrackerSparqlExpressionClass;
typedef struct _TrackerSparqlExpressionPrivate TrackerSparqlExpressionPrivate;

#define TRACKER_SPARQL_TYPE_QUERY (tracker_sparql_query_get_type ())
#define TRACKER_SPARQL_QUERY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_QUERY, TrackerSparqlQuery))
#define TRACKER_SPARQL_QUERY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_QUERY, TrackerSparqlQueryClass))
#define TRACKER_SPARQL_IS_QUERY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_QUERY))
#define TRACKER_SPARQL_IS_QUERY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_QUERY))
#define TRACKER_SPARQL_QUERY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_QUERY, TrackerSparqlQueryClass))

typedef struct _TrackerSparqlQuery TrackerSparqlQuery;
typedef struct _TrackerSparqlQueryClass TrackerSparqlQueryClass;

#define TRACKER_SPARQL_EXPRESSION_TYPE_TIME_FORMAT_TYPE (tracker_sparql_expression_time_format_type_get_type ())
#define _g_free0(var) (var = (g_free (var), NULL))

#define TRACKER_TYPE_SPARQL_TOKEN_TYPE (tracker_sparql_token_type_get_type ())

#define TRACKER_SPARQL_TYPE_VARIABLE (tracker_sparql_variable_get_type ())
#define TRACKER_SPARQL_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_VARIABLE, TrackerSparqlVariable))
#define TRACKER_SPARQL_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_VARIABLE, TrackerSparqlVariableClass))
#define TRACKER_SPARQL_IS_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_VARIABLE))
#define TRACKER_SPARQL_IS_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_VARIABLE))
#define TRACKER_SPARQL_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_VARIABLE, TrackerSparqlVariableClass))

typedef struct _TrackerSparqlVariable TrackerSparqlVariable;
typedef struct _TrackerSparqlVariableClass TrackerSparqlVariableClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define TRACKER_SPARQL_TYPE_CONTEXT (tracker_sparql_context_get_type ())
#define TRACKER_SPARQL_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_CONTEXT, TrackerSparqlContext))
#define TRACKER_SPARQL_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_CONTEXT, TrackerSparqlContextClass))
#define TRACKER_SPARQL_IS_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_CONTEXT))
#define TRACKER_SPARQL_IS_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_CONTEXT))
#define TRACKER_SPARQL_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_CONTEXT, TrackerSparqlContextClass))

typedef struct _TrackerSparqlContext TrackerSparqlContext;
typedef struct _TrackerSparqlContextClass TrackerSparqlContextClass;
typedef struct _TrackerSparqlVariablePrivate TrackerSparqlVariablePrivate;

#define TRACKER_SPARQL_TYPE_DATA_BINDING (tracker_sparql_data_binding_get_type ())
#define TRACKER_SPARQL_DATA_BINDING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_DATA_BINDING, TrackerSparqlDataBinding))
#define TRACKER_SPARQL_DATA_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_DATA_BINDING, TrackerSparqlDataBindingClass))
#define TRACKER_SPARQL_IS_DATA_BINDING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_DATA_BINDING))
#define TRACKER_SPARQL_IS_DATA_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_DATA_BINDING))
#define TRACKER_SPARQL_DATA_BINDING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_DATA_BINDING, TrackerSparqlDataBindingClass))

typedef struct _TrackerSparqlDataBinding TrackerSparqlDataBinding;
typedef struct _TrackerSparqlDataBindingClass TrackerSparqlDataBindingClass;

#define TRACKER_SPARQL_TYPE_VARIABLE_BINDING (tracker_sparql_variable_binding_get_type ())
#define TRACKER_SPARQL_VARIABLE_BINDING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_VARIABLE_BINDING, TrackerSparqlVariableBinding))
#define TRACKER_SPARQL_VARIABLE_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_VARIABLE_BINDING, TrackerSparqlVariableBindingClass))
#define TRACKER_SPARQL_IS_VARIABLE_BINDING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_VARIABLE_BINDING))
#define TRACKER_SPARQL_IS_VARIABLE_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_VARIABLE_BINDING))
#define TRACKER_SPARQL_VARIABLE_BINDING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_VARIABLE_BINDING, TrackerSparqlVariableBindingClass))

typedef struct _TrackerSparqlVariableBinding TrackerSparqlVariableBinding;
typedef struct _TrackerSparqlVariableBindingClass TrackerSparqlVariableBindingClass;

#define TRACKER_SPARQL_TYPE_SELECT_CONTEXT (tracker_sparql_select_context_get_type ())
#define TRACKER_SPARQL_SELECT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext))
#define TRACKER_SPARQL_SELECT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContextClass))
#define TRACKER_SPARQL_IS_SELECT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_SELECT_CONTEXT))
#define TRACKER_SPARQL_IS_SELECT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_SELECT_CONTEXT))
#define TRACKER_SPARQL_SELECT_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContextClass))

typedef struct _TrackerSparqlSelectContext TrackerSparqlSelectContext;
typedef struct _TrackerSparqlSelectContextClass TrackerSparqlSelectContextClass;

#define TRACKER_SPARQL_TYPE_PATTERN (tracker_sparql_pattern_get_type ())
#define TRACKER_SPARQL_PATTERN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_PATTERN, TrackerSparqlPattern))
#define TRACKER_SPARQL_PATTERN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_PATTERN, TrackerSparqlPatternClass))
#define TRACKER_SPARQL_IS_PATTERN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_PATTERN))
#define TRACKER_SPARQL_IS_PATTERN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_PATTERN))
#define TRACKER_SPARQL_PATTERN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_PATTERN, TrackerSparqlPatternClass))

typedef struct _TrackerSparqlPattern TrackerSparqlPattern;
typedef struct _TrackerSparqlPatternClass TrackerSparqlPatternClass;
#define _tracker_sparql_context_unref0(var) ((var == NULL) ? NULL : (var = (tracker_sparql_context_unref (var), NULL)))
typedef struct _TrackerSparqlContextPrivate TrackerSparqlContextPrivate;

#define TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE (tracker_sparql_predicate_variable_get_type ())
#define TRACKER_SPARQL_PREDICATE_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE, TrackerSparqlPredicateVariable))
#define TRACKER_SPARQL_PREDICATE_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE, TrackerSparqlPredicateVariableClass))
#define TRACKER_SPARQL_IS_PREDICATE_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE))
#define TRACKER_SPARQL_IS_PREDICATE_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE))
#define TRACKER_SPARQL_PREDICATE_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE, TrackerSparqlPredicateVariableClass))

typedef struct _TrackerSparqlPredicateVariable TrackerSparqlPredicateVariable;
typedef struct _TrackerSparqlPredicateVariableClass TrackerSparqlPredicateVariableClass;
typedef struct _TrackerSparqlSelectContextPrivate TrackerSparqlSelectContextPrivate;
typedef struct _TrackerSparqlDataBindingPrivate TrackerSparqlDataBindingPrivate;

#define TRACKER_SPARQL_TYPE_DATA_TABLE (tracker_sparql_data_table_get_type ())
#define TRACKER_SPARQL_DATA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_DATA_TABLE, TrackerSparqlDataTable))
#define TRACKER_SPARQL_DATA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_DATA_TABLE, TrackerSparqlDataTableClass))
#define TRACKER_SPARQL_IS_DATA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_DATA_TABLE))
#define TRACKER_SPARQL_IS_DATA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_DATA_TABLE))
#define TRACKER_SPARQL_DATA_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_DATA_TABLE, TrackerSparqlDataTableClass))

typedef struct _TrackerSparqlDataTable TrackerSparqlDataTable;
typedef struct _TrackerSparqlDataTableClass TrackerSparqlDataTableClass;
typedef struct _TrackerSparqlVariableBindingPrivate TrackerSparqlVariableBindingPrivate;

#define TRACKER_SPARQL_TYPE_VARIABLE_STATE (tracker_sparql_variable_state_get_type ())
#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL)))
typedef struct _TrackerSparqlPatternPrivate TrackerSparqlPatternPrivate;

#define TRACKER_SPARQL_TYPE_LITERAL_BINDING (tracker_sparql_literal_binding_get_type ())
#define TRACKER_SPARQL_LITERAL_BINDING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_LITERAL_BINDING, TrackerSparqlLiteralBinding))
#define TRACKER_SPARQL_LITERAL_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_LITERAL_BINDING, TrackerSparqlLiteralBindingClass))
#define TRACKER_SPARQL_IS_LITERAL_BINDING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_LITERAL_BINDING))
#define TRACKER_SPARQL_IS_LITERAL_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_LITERAL_BINDING))
#define TRACKER_SPARQL_LITERAL_BINDING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_LITERAL_BINDING, TrackerSparqlLiteralBindingClass))

typedef struct _TrackerSparqlLiteralBinding TrackerSparqlLiteralBinding;
typedef struct _TrackerSparqlLiteralBindingClass TrackerSparqlLiteralBindingClass;
typedef struct _TrackerSparqlLiteralBindingPrivate TrackerSparqlLiteralBindingPrivate;
typedef struct _TrackerSparqlQueryPrivate TrackerSparqlQueryPrivate;

struct _TrackerSparqlExpression {
	GObject parent_instance;
	TrackerSparqlExpressionPrivate * priv;
};

struct _TrackerSparqlExpressionClass {
	GObjectClass parent_class;
};

struct _TrackerSparqlExpressionPrivate {
	TrackerSparqlQuery* query;
	gchar* fts_sql;
};

typedef enum  {
	TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_SECONDS,
	TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_MINUTES,
	TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_HOURS
} TrackerSparqlExpressionTimeFormatType;

typedef enum  {
	TRACKER_SPARQL_TOKEN_TYPE_NONE,
	TRACKER_SPARQL_TOKEN_TYPE_A,
	TRACKER_SPARQL_TOKEN_TYPE_ABS,
	TRACKER_SPARQL_TOKEN_TYPE_AS,
	TRACKER_SPARQL_TOKEN_TYPE_ASC,
	TRACKER_SPARQL_TOKEN_TYPE_ASK,
	TRACKER_SPARQL_TOKEN_TYPE_ATBASE,
	TRACKER_SPARQL_TOKEN_TYPE_ATPREFIX,
	TRACKER_SPARQL_TOKEN_TYPE_AVG,
	TRACKER_SPARQL_TOKEN_TYPE_BASE,
	TRACKER_SPARQL_TOKEN_TYPE_BLANK_NODE,
	TRACKER_SPARQL_TOKEN_TYPE_BIND,
	TRACKER_SPARQL_TOKEN_TYPE_BOUND,
	TRACKER_SPARQL_TOKEN_TYPE_BY,
	TRACKER_SPARQL_TOKEN_TYPE_CEIL,
	TRACKER_SPARQL_TOKEN_TYPE_CLOSE_BRACE,
	TRACKER_SPARQL_TOKEN_TYPE_CLOSE_BRACKET,
	TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS,
	TRACKER_SPARQL_TOKEN_TYPE_COALESCE,
	TRACKER_SPARQL_TOKEN_TYPE_COLON,
	TRACKER_SPARQL_TOKEN_TYPE_CONCAT,
	TRACKER_SPARQL_TOKEN_TYPE_CONTAINS,
	TRACKER_SPARQL_TOKEN_TYPE_COMMA,
	TRACKER_SPARQL_TOKEN_TYPE_CONSTRUCT,
	TRACKER_SPARQL_TOKEN_TYPE_COUNT,
	TRACKER_SPARQL_TOKEN_TYPE_DATA,
	TRACKER_SPARQL_TOKEN_TYPE_DATATYPE,
	TRACKER_SPARQL_TOKEN_TYPE_DAY,
	TRACKER_SPARQL_TOKEN_TYPE_DECIMAL,
	TRACKER_SPARQL_TOKEN_TYPE_DELETE,
	TRACKER_SPARQL_TOKEN_TYPE_DESC,
	TRACKER_SPARQL_TOKEN_TYPE_DESCRIBE,
	TRACKER_SPARQL_TOKEN_TYPE_DISTINCT,
	TRACKER_SPARQL_TOKEN_TYPE_DIV,
	TRACKER_SPARQL_TOKEN_TYPE_DOT,
	TRACKER_SPARQL_TOKEN_TYPE_DOUBLE,
	TRACKER_SPARQL_TOKEN_TYPE_DOUBLE_CIRCUMFLEX,
	TRACKER_SPARQL_TOKEN_TYPE_DROP,
	TRACKER_SPARQL_TOKEN_TYPE_ENCODE_FOR_URI,
	TRACKER_SPARQL_TOKEN_TYPE_EOF,
	TRACKER_SPARQL_TOKEN_TYPE_EXISTS,
	TRACKER_SPARQL_TOKEN_TYPE_FALSE,
	TRACKER_SPARQL_TOKEN_TYPE_FILTER,
	TRACKER_SPARQL_TOKEN_TYPE_FLOOR,
	TRACKER_SPARQL_TOKEN_TYPE_FROM,
	TRACKER_SPARQL_TOKEN_TYPE_GRAPH,
	TRACKER_SPARQL_TOKEN_TYPE_GROUP,
	TRACKER_SPARQL_TOKEN_TYPE_GROUP_CONCAT,
	TRACKER_SPARQL_TOKEN_TYPE_HAVING,
	TRACKER_SPARQL_TOKEN_TYPE_HOURS,
	TRACKER_SPARQL_TOKEN_TYPE_IF,
	TRACKER_SPARQL_TOKEN_TYPE_INSERT,
	TRACKER_SPARQL_TOKEN_TYPE_INTEGER,
	TRACKER_SPARQL_TOKEN_TYPE_INTO,
	TRACKER_SPARQL_TOKEN_TYPE_IRI_REF,
	TRACKER_SPARQL_TOKEN_TYPE_ISBLANK,
	TRACKER_SPARQL_TOKEN_TYPE_ISIRI,
	TRACKER_SPARQL_TOKEN_TYPE_ISLITERAL,
	TRACKER_SPARQL_TOKEN_TYPE_ISURI,
	TRACKER_SPARQL_TOKEN_TYPE_LANG,
	TRACKER_SPARQL_TOKEN_TYPE_LANGMATCHES,
	TRACKER_SPARQL_TOKEN_TYPE_LCASE,
	TRACKER_SPARQL_TOKEN_TYPE_LIMIT,
	TRACKER_SPARQL_TOKEN_TYPE_MAX,
	TRACKER_SPARQL_TOKEN_TYPE_MD5,
	TRACKER_SPARQL_TOKEN_TYPE_MIN,
	TRACKER_SPARQL_TOKEN_TYPE_MINUS,
	TRACKER_SPARQL_TOKEN_TYPE_MINUTES,
	TRACKER_SPARQL_TOKEN_TYPE_MONTH,
	TRACKER_SPARQL_TOKEN_TYPE_NAMED,
	TRACKER_SPARQL_TOKEN_TYPE_NOT,
	TRACKER_SPARQL_TOKEN_TYPE_NOW,
	TRACKER_SPARQL_TOKEN_TYPE_NULL,
	TRACKER_SPARQL_TOKEN_TYPE_OFFSET,
	TRACKER_SPARQL_TOKEN_TYPE_OP_AND,
	TRACKER_SPARQL_TOKEN_TYPE_OP_EQ,
	TRACKER_SPARQL_TOKEN_TYPE_OP_GE,
	TRACKER_SPARQL_TOKEN_TYPE_OP_GT,
	TRACKER_SPARQL_TOKEN_TYPE_OP_LE,
	TRACKER_SPARQL_TOKEN_TYPE_OP_LT,
	TRACKER_SPARQL_TOKEN_TYPE_OP_NE,
	TRACKER_SPARQL_TOKEN_TYPE_OP_NEG,
	TRACKER_SPARQL_TOKEN_TYPE_OP_OR,
	TRACKER_SPARQL_TOKEN_TYPE_OP_IN,
	TRACKER_SPARQL_TOKEN_TYPE_OPEN_BRACE,
	TRACKER_SPARQL_TOKEN_TYPE_OPEN_BRACKET,
	TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS,
	TRACKER_SPARQL_TOKEN_TYPE_OPTIONAL,
	TRACKER_SPARQL_TOKEN_TYPE_OR,
	TRACKER_SPARQL_TOKEN_TYPE_ORDER,
	TRACKER_SPARQL_TOKEN_TYPE_PLUS,
	TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX,
	TRACKER_SPARQL_TOKEN_TYPE_PREFIX,
	TRACKER_SPARQL_TOKEN_TYPE_RAND,
	TRACKER_SPARQL_TOKEN_TYPE_REDUCED,
	TRACKER_SPARQL_TOKEN_TYPE_REGEX,
	TRACKER_SPARQL_TOKEN_TYPE_REPLACE,
	TRACKER_SPARQL_TOKEN_TYPE_ROUND,
	TRACKER_SPARQL_TOKEN_TYPE_SAMETERM,
	TRACKER_SPARQL_TOKEN_TYPE_SECONDS,
	TRACKER_SPARQL_TOKEN_TYPE_SELECT,
	TRACKER_SPARQL_TOKEN_TYPE_SEMICOLON,
	TRACKER_SPARQL_TOKEN_TYPE_SHA1,
	TRACKER_SPARQL_TOKEN_TYPE_SHA256,
	TRACKER_SPARQL_TOKEN_TYPE_SHA512,
	TRACKER_SPARQL_TOKEN_TYPE_SILENT,
	TRACKER_SPARQL_TOKEN_TYPE_STAR,
	TRACKER_SPARQL_TOKEN_TYPE_STR,
	TRACKER_SPARQL_TOKEN_TYPE_STRAFTER,
	TRACKER_SPARQL_TOKEN_TYPE_STRBEFORE,
	TRACKER_SPARQL_TOKEN_TYPE_STRENDS,
	TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL1,
	TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL2,
	TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG1,
	TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG2,
	TRACKER_SPARQL_TOKEN_TYPE_STRLEN,
	TRACKER_SPARQL_TOKEN_TYPE_STRSTARTS,
	TRACKER_SPARQL_TOKEN_TYPE_SUBSTR,
	TRACKER_SPARQL_TOKEN_TYPE_SUM,
	TRACKER_SPARQL_TOKEN_TYPE_TRUE,
	TRACKER_SPARQL_TOKEN_TYPE_UCASE,
	TRACKER_SPARQL_TOKEN_TYPE_UNION,
	TRACKER_SPARQL_TOKEN_TYPE_VAR,
	TRACKER_SPARQL_TOKEN_TYPE_WHERE,
	TRACKER_SPARQL_TOKEN_TYPE_WITH,
	TRACKER_SPARQL_TOKEN_TYPE_YEAR
} TrackerSparqlTokenType;

struct _TrackerSparqlVariable {
	GObject parent_instance;
	TrackerSparqlVariablePrivate * priv;
	TrackerSparqlVariableBinding* binding;
};

struct _TrackerSparqlVariableClass {
	GObjectClass parent_class;
};

struct _TrackerSparqlContext {
	GTypeInstance parent_instance;
	volatile int ref_count;
	TrackerSparqlContextPrivate * priv;
	TrackerSparqlQuery* query;
	TrackerSparqlContext* parent_context;
	GHashTable* var_set;
	GHashTable* var_map;
	GHashTable* select_var_set;
	GHashTable* predicate_variable_map;
	gboolean scalar_subquery;
};

struct _TrackerSparqlContextClass {
	GTypeClass parent_class;
	void (*finalize) (TrackerSparqlContext *self);
};

struct _TrackerSparqlSelectContext {
	TrackerSparqlContext parent_instance;
	TrackerSparqlSelectContextPrivate * priv;
	TrackerPropertyType type;
	TrackerPropertyType* types;
	gint types_length1;
	gint _types_size_;
	gchar** variable_names;
	gint variable_names_length1;
	gint _variable_names_size_;
};

struct _TrackerSparqlSelectContextClass {
	TrackerSparqlContextClass parent_class;
};

struct _TrackerSparqlDataBinding {
	GObject parent_instance;
	TrackerSparqlDataBindingPrivate * priv;
	TrackerPropertyType data_type;
	TrackerSparqlDataTable* table;
	gchar* sql_db_column_name;
};

struct _TrackerSparqlDataBindingClass {
	GObjectClass parent_class;
};

struct _TrackerSparqlVariableBinding {
	TrackerSparqlDataBinding parent_instance;
	TrackerSparqlVariableBindingPrivate * priv;
	TrackerSparqlVariable* variable;
	gboolean maybe_null;
	gboolean in_simple_optional;
	TrackerClass* type;
};

struct _TrackerSparqlVariableBindingClass {
	TrackerSparqlDataBindingClass parent_class;
};

typedef enum  {
	TRACKER_SPARQL_VARIABLE_STATE_NONE,
	TRACKER_SPARQL_VARIABLE_STATE_BOUND,
	TRACKER_SPARQL_VARIABLE_STATE_OPTIONAL
} TrackerSparqlVariableState;

struct _TrackerSparqlPattern {
	GObject parent_instance;
	TrackerSparqlPatternPrivate * priv;
	gchar* current_graph;
	TrackerSparqlVariable* fts_subject;
	gchar** fts_variables;
	gint fts_variables_length1;
	gint _fts_variables_size_;
	GString* match_str;
	gboolean queries_fts_data;
};

struct _TrackerSparqlPatternClass {
	GObjectClass parent_class;
};

struct _TrackerSparqlLiteralBinding {
	TrackerSparqlDataBinding parent_instance;
	TrackerSparqlLiteralBindingPrivate * priv;
	gboolean is_fts_match;
	gchar* literal;
};

struct _TrackerSparqlLiteralBindingClass {
	TrackerSparqlDataBindingClass parent_class;
};

struct _TrackerSparqlQuery {
	GObject parent_instance;
	TrackerSparqlQueryPrivate * priv;
	TrackerSparqlExpression* expression;
	TrackerSparqlPattern* pattern;
	GList* bindings;
	TrackerSparqlContext* context;
	gint last_var_index;
};

struct _TrackerSparqlQueryClass {
	GObjectClass parent_class;
};


static gpointer tracker_sparql_expression_parent_class = NULL;

GType tracker_sparql_expression_get_type (void) G_GNUC_CONST;
GType tracker_sparql_query_get_type (void) G_GNUC_CONST;
#define TRACKER_SPARQL_EXPRESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRACKER_SPARQL_TYPE_EXPRESSION, TrackerSparqlExpressionPrivate))
enum  {
	TRACKER_SPARQL_EXPRESSION_DUMMY_PROPERTY
};
static GType tracker_sparql_expression_time_format_type_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define TRACKER_SPARQL_EXPRESSION_MAX_VARIABLES_FOR_IN 20
#define TRACKER_SPARQL_EXPRESSION_XSD_NS "http://www.w3.org/2001/XMLSchema#"
#define TRACKER_SPARQL_EXPRESSION_FN_NS "http://www.w3.org/2005/xpath-functions#"
#define TRACKER_SPARQL_EXPRESSION_FTS_NS "http://www.tracker-project.org/ontologies/fts#"
#define TRACKER_SPARQL_EXPRESSION_TRACKER_NS "http://www.tracker-project.org/ontologies/tracker#"
TrackerSparqlExpression* tracker_sparql_expression_new (TrackerSparqlQuery* query);
TrackerSparqlExpression* tracker_sparql_expression_construct (GType object_type, TrackerSparqlQuery* query);
static inline gboolean tracker_sparql_expression_next (TrackerSparqlExpression* self, GError** error);
gboolean tracker_sparql_query_next (TrackerSparqlQuery* self, GError** error);
GType tracker_sparql_token_type_get_type (void) G_GNUC_CONST;
static inline TrackerSparqlTokenType tracker_sparql_expression_current (TrackerSparqlExpression* self);
TrackerSparqlTokenType tracker_sparql_query_current (TrackerSparqlQuery* self);
static inline TrackerSparqlTokenType tracker_sparql_expression_last (TrackerSparqlExpression* self);
TrackerSparqlTokenType tracker_sparql_query_last (TrackerSparqlQuery* self);
static inline gboolean tracker_sparql_expression_accept (TrackerSparqlExpression* self, TrackerSparqlTokenType type, GError** error);
gboolean tracker_sparql_query_accept (TrackerSparqlQuery* self, TrackerSparqlTokenType type, GError** error);
static GError* tracker_sparql_expression_get_error (TrackerSparqlExpression* self, const gchar* msg);
GError* tracker_sparql_query_get_error (TrackerSparqlQuery* self, const gchar* msg);
static gboolean tracker_sparql_expression_expect (TrackerSparqlExpression* self, TrackerSparqlTokenType type, GError** error);
gboolean tracker_sparql_query_expect (TrackerSparqlQuery* self, TrackerSparqlTokenType type, GError** error);
static gchar* tracker_sparql_expression_get_last_string (TrackerSparqlExpression* self, gint strip);
gchar* tracker_sparql_query_get_last_string (TrackerSparqlQuery* self, gint strip);
static gchar* tracker_sparql_expression_escape_sql_string_literal (TrackerSparqlExpression* self, const gchar* literal);
static gboolean tracker_sparql_expression_maybe_numeric (TrackerSparqlExpression* self, TrackerPropertyType type);
static void tracker_sparql_expression_append_collate (TrackerSparqlExpression* self, GString* sql);
static void tracker_sparql_expression_skip_bracketted_expression (TrackerSparqlExpression* self, GError** error);
void tracker_sparql_expression_skip_select_variables (TrackerSparqlExpression* self, GError** error);
TrackerPropertyType tracker_sparql_expression_translate_select_expression (TrackerSparqlExpression* self, GString* sql, gboolean subquery, gint variable_index, GError** error);
GType tracker_sparql_variable_get_type (void) G_GNUC_CONST;
TrackerPropertyType tracker_sparql_expression_translate_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
gpointer tracker_sparql_context_ref (gpointer instance);
void tracker_sparql_context_unref (gpointer instance);
GParamSpec* tracker_sparql_param_spec_context (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void tracker_sparql_value_set_context (GValue* value, gpointer v_object);
void tracker_sparql_value_take_context (GValue* value, gpointer v_object);
gpointer tracker_sparql_value_get_context (const GValue* value);
GType tracker_sparql_context_get_type (void) G_GNUC_CONST;
static TrackerSparqlContext* tracker_sparql_expression_get_context (TrackerSparqlExpression* self);
TrackerSparqlVariable* tracker_sparql_context_get_variable (TrackerSparqlContext* self, const gchar* name);
GType tracker_sparql_data_binding_get_type (void) G_GNUC_CONST;
GType tracker_sparql_variable_binding_get_type (void) G_GNUC_CONST;
const gchar* tracker_sparql_variable_get_name (TrackerSparqlVariable* self);
GType tracker_sparql_select_context_get_type (void) G_GNUC_CONST;
GType tracker_sparql_pattern_get_type (void) G_GNUC_CONST;
static TrackerSparqlPattern* tracker_sparql_expression_get_pattern (TrackerSparqlExpression* self);
TrackerSparqlSelectContext* tracker_sparql_pattern_translate_select (TrackerSparqlPattern* self, GString* sql, gboolean subquery, gboolean scalar_subquery, GError** error);
GType tracker_sparql_predicate_variable_get_type (void) G_GNUC_CONST;
static void tracker_sparql_expression_convert_expression_to_string (GString* sql, TrackerPropertyType type, glong begin);
const gchar* tracker_sparql_variable_get_sql_expression (TrackerSparqlVariable* self);
TrackerSparqlVariableBinding* tracker_sparql_variable_binding_new (void);
TrackerSparqlVariableBinding* tracker_sparql_variable_binding_construct (GType object_type);
GType tracker_sparql_data_table_get_type (void) G_GNUC_CONST;
void tracker_sparql_data_binding_set_sql_expression (TrackerSparqlDataBinding* self, const gchar* value);
GType tracker_sparql_variable_state_get_type (void) G_GNUC_CONST;
void tracker_sparql_pattern_add_variable_binding (TrackerSparqlPattern* self, GString* sql, TrackerSparqlVariableBinding* binding, TrackerSparqlVariableState variable_state);
static void _vala_array_add1 (gchar*** array, int* length, int* size, gchar* value);
static void _vala_array_add2 (gchar*** array, int* length, int* size, gchar* value);
static void _vala_array_add3 (gchar*** array, int* length, int* size, gchar* value);
static void _vala_array_add4 (gchar*** array, int* length, int* size, gchar* value);
static void tracker_sparql_expression_translate_expression_as_order_condition (TrackerSparqlExpression* self, GString* sql, GError** error);
void tracker_sparql_expression_translate_order_condition (TrackerSparqlExpression* self, GString* sql, GError** error);
static void tracker_sparql_expression_translate_bound_call (TrackerSparqlExpression* self, GString* sql, GError** error);
static TrackerPropertyType tracker_sparql_expression_translate_if_call (TrackerSparqlExpression* self, GString* sql, GError** error);
static void tracker_sparql_expression_translate_regex (TrackerSparqlExpression* self, GString* sql, GError** error);
static void tracker_sparql_expression_translate_expression_as_string (TrackerSparqlExpression* self, GString* sql, GError** error);
gchar* tracker_sparql_expression_parse_string_literal (TrackerSparqlExpression* self, TrackerPropertyType* type, GError** error);
static void tracker_sparql_expression_translate_exists (TrackerSparqlExpression* self, GString* sql, GError** error);
void tracker_sparql_pattern_translate_exists (TrackerSparqlPattern* self, GString* sql, GError** error);
void tracker_sparql_expression_append_expression_as_string (GString* sql, const gchar* expression, TrackerPropertyType type);
GType tracker_sparql_literal_binding_get_type (void) G_GNUC_CONST;
TrackerSparqlLiteralBinding* tracker_sparql_literal_binding_new (void);
TrackerSparqlLiteralBinding* tracker_sparql_literal_binding_construct (GType object_type);
gchar* tracker_sparql_pattern_parse_var_or_term (TrackerSparqlPattern* self, GString* sql, gboolean* is_var, GError** error);
static TrackerPropertyType tracker_sparql_expression_translate_function (TrackerSparqlExpression* self, GString* sql, const gchar* uri, GError** error);
static void tracker_sparql_expression_translate_str (TrackerSparqlExpression* self, GString* sql, GError** error);
static void tracker_sparql_expression_translate_isuri (TrackerSparqlExpression* self, GString* sql, GError** error);
static void tracker_sparql_expression_translate_datatype (TrackerSparqlExpression* self, GString* sql, GError** error);
static void tracker_sparql_expression_translate_date (TrackerSparqlExpression* self, GString* sql, const gchar* format, GError** error);
gchar* tracker_sparql_variable_get_extra_sql_expression (TrackerSparqlVariable* self, const gchar* suffix);
static TrackerPropertyType tracker_sparql_expression_translate_primary_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
static void tracker_sparql_expression_translate_time (TrackerSparqlExpression* self, GString* sql, TrackerSparqlExpressionTimeFormatType type, GError** error);
static TrackerPropertyType tracker_sparql_expression_parse_type_uri (TrackerSparqlExpression* self, GError** error);
gchar* tracker_sparql_query_resolve_prefixed_name (TrackerSparqlQuery* self, const gchar* prefix, const gchar* local_name, GError** error);
static TrackerPropertyType tracker_sparql_expression_translate_uri_expression (TrackerSparqlExpression* self, GString* sql, const gchar* uri, GError** error);
static TrackerPropertyType tracker_sparql_expression_translate_bracketted_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
gboolean tracker_sparql_query_get_no_cache (TrackerSparqlQuery* self);
TrackerSparqlContext* tracker_sparql_variable_get_origin_context (TrackerSparqlVariable* self);
const gchar* tracker_sparql_data_binding_get_sql_expression (TrackerSparqlDataBinding* self);
static TrackerPropertyType tracker_sparql_expression_translate_aggregate_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
void tracker_sparql_query_set_no_cache (TrackerSparqlQuery* self, gboolean value);
static TrackerPropertyType tracker_sparql_expression_translate_unary_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
static TrackerPropertyType tracker_sparql_expression_translate_multiplicative_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
static TrackerPropertyType tracker_sparql_expression_translate_additive_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
static TrackerPropertyType tracker_sparql_expression_translate_numeric_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
static TrackerPropertyType tracker_sparql_expression_process_relational_expression (TrackerSparqlExpression* self, GString* sql, glong begin, guint n_bindings, TrackerPropertyType op1type, const gchar* operator, GError** error);
static TrackerPropertyType tracker_sparql_expression_translate_in (TrackerSparqlExpression* self, GString* sql, gboolean not, GError** error);
static TrackerPropertyType tracker_sparql_expression_translate_relational_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
static TrackerPropertyType tracker_sparql_expression_translate_value_logical (TrackerSparqlExpression* self, GString* sql, GError** error);
static TrackerPropertyType tracker_sparql_expression_translate_conditional_and_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
static TrackerPropertyType tracker_sparql_expression_translate_conditional_or_expression (TrackerSparqlExpression* self, GString* sql, GError** error);
TrackerPropertyType tracker_sparql_expression_translate_constraint (TrackerSparqlExpression* self, GString* sql, GError** error);
static void tracker_sparql_expression_finalize (GObject* obj);
static void _vala_tracker_sparql_expression_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
static gint _vala_array_length (gpointer array);


static GType tracker_sparql_expression_time_format_type_get_type (void) {
	static volatile gsize tracker_sparql_expression_time_format_type_type_id__volatile = 0;
	if (g_once_init_enter (&tracker_sparql_expression_time_format_type_type_id__volatile)) {
		static const GEnumValue values[] = {{TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_SECONDS, "TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_SECONDS", "seconds"}, {TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_MINUTES, "TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_MINUTES", "minutes"}, {TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_HOURS, "TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_HOURS", "hours"}, {0, NULL, NULL}};
		GType tracker_sparql_expression_time_format_type_type_id;
		tracker_sparql_expression_time_format_type_type_id = g_enum_register_static ("TrackerSparqlExpressionTimeFormatType", values);
		g_once_init_leave (&tracker_sparql_expression_time_format_type_type_id__volatile, tracker_sparql_expression_time_format_type_type_id);
	}
	return tracker_sparql_expression_time_format_type_type_id__volatile;
}


TrackerSparqlExpression* tracker_sparql_expression_construct (GType object_type, TrackerSparqlQuery* query) {
	TrackerSparqlExpression * self = NULL;
	TrackerSparqlQuery* _tmp0_ = NULL;
#line 37 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (query != NULL, NULL);
#line 37 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	self = (TrackerSparqlExpression*) g_object_new (object_type, NULL);
#line 38 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = query;
#line 38 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	self->priv->query = _tmp0_;
#line 37 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return self;
#line 573 "tracker-sparql-expression.c"
}


TrackerSparqlExpression* tracker_sparql_expression_new (TrackerSparqlQuery* query) {
#line 37 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return tracker_sparql_expression_construct (TRACKER_SPARQL_TYPE_EXPRESSION, query);
#line 580 "tracker-sparql-expression.c"
}


static inline gboolean tracker_sparql_expression_next (TrackerSparqlExpression* self, GError** error) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	TrackerSparqlQuery* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	GError * _inner_error_ = NULL;
#line 49 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = self->priv->query;
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = tracker_sparql_query_next (_tmp1_, &_inner_error_);
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = _tmp2_;
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return FALSE;
#line 606 "tracker-sparql-expression.c"
		} else {
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return FALSE;
#line 614 "tracker-sparql-expression.c"
		}
	}
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp0_;
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 621 "tracker-sparql-expression.c"
}


static inline TrackerSparqlTokenType tracker_sparql_expression_current (TrackerSparqlExpression* self) {
	TrackerSparqlTokenType result = 0;
	TrackerSparqlQuery* _tmp0_ = NULL;
	TrackerSparqlTokenType _tmp1_ = 0;
#line 53 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 54 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = self->priv->query;
#line 54 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = tracker_sparql_query_current (_tmp0_);
#line 54 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp1_;
#line 54 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 639 "tracker-sparql-expression.c"
}


static inline TrackerSparqlTokenType tracker_sparql_expression_last (TrackerSparqlExpression* self) {
	TrackerSparqlTokenType result = 0;
	TrackerSparqlQuery* _tmp0_ = NULL;
	TrackerSparqlTokenType _tmp1_ = 0;
#line 57 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 58 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = self->priv->query;
#line 58 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = tracker_sparql_query_last (_tmp0_);
#line 58 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp1_;
#line 58 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 657 "tracker-sparql-expression.c"
}


static inline gboolean tracker_sparql_expression_accept (TrackerSparqlExpression* self, TrackerSparqlTokenType type, GError** error) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	TrackerSparqlQuery* _tmp1_ = NULL;
	TrackerSparqlTokenType _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	GError * _inner_error_ = NULL;
#line 61 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 62 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = self->priv->query;
#line 62 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = type;
#line 62 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = tracker_sparql_query_accept (_tmp1_, _tmp2_, &_inner_error_);
#line 62 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = _tmp3_;
#line 62 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 62 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 62 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 62 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return FALSE;
#line 686 "tracker-sparql-expression.c"
		} else {
#line 62 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 62 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 62 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return FALSE;
#line 694 "tracker-sparql-expression.c"
		}
	}
#line 62 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp0_;
#line 62 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 701 "tracker-sparql-expression.c"
}


static GError* tracker_sparql_expression_get_error (TrackerSparqlExpression* self, const gchar* msg) {
	GError* result = NULL;
	TrackerSparqlQuery* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	GError* _tmp2_ = NULL;
#line 65 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 65 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (msg != NULL, NULL);
#line 66 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = self->priv->query;
#line 66 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = msg;
#line 66 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = tracker_sparql_query_get_error (_tmp0_, _tmp1_);
#line 66 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp2_;
#line 66 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 724 "tracker-sparql-expression.c"
}


static gboolean tracker_sparql_expression_expect (TrackerSparqlExpression* self, TrackerSparqlTokenType type, GError** error) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	TrackerSparqlQuery* _tmp1_ = NULL;
	TrackerSparqlTokenType _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	GError * _inner_error_ = NULL;
#line 69 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = self->priv->query;
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = type;
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = tracker_sparql_query_expect (_tmp1_, _tmp2_, &_inner_error_);
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = _tmp3_;
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return FALSE;
#line 753 "tracker-sparql-expression.c"
		} else {
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return FALSE;
#line 761 "tracker-sparql-expression.c"
		}
	}
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp0_;
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 768 "tracker-sparql-expression.c"
}


static gchar* tracker_sparql_expression_get_last_string (TrackerSparqlExpression* self, gint strip) {
	gchar* result = NULL;
	TrackerSparqlQuery* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gchar* _tmp2_ = NULL;
#line 73 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 74 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = self->priv->query;
#line 74 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = strip;
#line 74 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = tracker_sparql_query_get_last_string (_tmp0_, _tmp1_);
#line 74 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp2_;
#line 74 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 789 "tracker-sparql-expression.c"
}


static gchar* _vala_g_strjoinv (const gchar* separator, gchar** str_array, int str_array_length1) {
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	gchar** _tmp3_ = NULL;
	gint _tmp3__length1 = 0;
#line 964 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp0_ = separator;
#line 964 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	if (_tmp0_ == NULL) {
#line 965 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		separator = "";
#line 806 "tracker-sparql-expression.c"
	}
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp3_ = str_array;
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp3__length1 = str_array_length1;
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	if (_tmp3_ != NULL) {
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp2_ = TRUE;
#line 816 "tracker-sparql-expression.c"
	} else {
		gchar** _tmp4_ = NULL;
		gint _tmp4__length1 = 0;
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp4_ = str_array;
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp4__length1 = str_array_length1;
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp2_ = _tmp4__length1 > 0;
#line 826 "tracker-sparql-expression.c"
	}
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	if (_tmp2_) {
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp1_ = TRUE;
#line 832 "tracker-sparql-expression.c"
	} else {
		gboolean _tmp5_ = FALSE;
		gchar** _tmp6_ = NULL;
		gint _tmp6__length1 = 0;
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp6_ = str_array;
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp6__length1 = str_array_length1;
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		if (_tmp6__length1 == -1) {
#line 843 "tracker-sparql-expression.c"
			gchar** _tmp7_ = NULL;
			gint _tmp7__length1 = 0;
			const gchar* _tmp8_ = NULL;
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
			_tmp7_ = str_array;
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
			_tmp7__length1 = str_array_length1;
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
			_tmp8_ = _tmp7_[0];
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
			_tmp5_ = _tmp8_ != NULL;
#line 855 "tracker-sparql-expression.c"
		} else {
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
			_tmp5_ = FALSE;
#line 859 "tracker-sparql-expression.c"
		}
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp1_ = _tmp5_;
#line 863 "tracker-sparql-expression.c"
	}
#line 967 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	if (_tmp1_) {
#line 867 "tracker-sparql-expression.c"
		gint i = 0;
		gsize len = 0UL;
		gint _tmp31_ = 0;
		gint _tmp33_ = 0;
		gint _tmp34_ = 0;
		gsize _tmp35_ = 0UL;
		const gchar* _tmp36_ = NULL;
		gint _tmp37_ = 0;
		gint _tmp38_ = 0;
		gint _tmp39_ = 0;
		const gchar* res = NULL;
		gsize _tmp40_ = 0UL;
		void* _tmp41_ = NULL;
		void* ptr = NULL;
		const gchar* _tmp42_ = NULL;
		gchar** _tmp43_ = NULL;
		gint _tmp43__length1 = 0;
		const gchar* _tmp44_ = NULL;
		void* _tmp45_ = NULL;
		const gchar* _tmp62_ = NULL;
#line 969 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		len = (gsize) 1;
#line 890 "tracker-sparql-expression.c"
		{
			gboolean _tmp9_ = FALSE;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
			i = 0;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
			_tmp9_ = TRUE;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
			while (TRUE) {
#line 899 "tracker-sparql-expression.c"
				gboolean _tmp11_ = FALSE;
				gboolean _tmp12_ = FALSE;
				gchar** _tmp13_ = NULL;
				gint _tmp13__length1 = 0;
				gint _tmp21_ = 0;
				gchar** _tmp22_ = NULL;
				gint _tmp22__length1 = 0;
				gint _tmp23_ = 0;
				const gchar* _tmp24_ = NULL;
				gsize _tmp30_ = 0UL;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				if (!_tmp9_) {
#line 912 "tracker-sparql-expression.c"
					gint _tmp10_ = 0;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp10_ = i;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					i = _tmp10_ + 1;
#line 918 "tracker-sparql-expression.c"
				}
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp9_ = FALSE;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp13_ = str_array;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp13__length1 = str_array_length1;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				if (_tmp13__length1 != -1) {
#line 928 "tracker-sparql-expression.c"
					gint _tmp14_ = 0;
					gchar** _tmp15_ = NULL;
					gint _tmp15__length1 = 0;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp14_ = i;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp15_ = str_array;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp15__length1 = str_array_length1;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp12_ = _tmp14_ < _tmp15__length1;
#line 940 "tracker-sparql-expression.c"
				} else {
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp12_ = FALSE;
#line 944 "tracker-sparql-expression.c"
				}
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				if (_tmp12_) {
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp11_ = TRUE;
#line 950 "tracker-sparql-expression.c"
				} else {
					gboolean _tmp16_ = FALSE;
					gchar** _tmp17_ = NULL;
					gint _tmp17__length1 = 0;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp17_ = str_array;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp17__length1 = str_array_length1;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					if (_tmp17__length1 == -1) {
#line 961 "tracker-sparql-expression.c"
						gchar** _tmp18_ = NULL;
						gint _tmp18__length1 = 0;
						gint _tmp19_ = 0;
						const gchar* _tmp20_ = NULL;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
						_tmp18_ = str_array;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
						_tmp18__length1 = str_array_length1;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
						_tmp19_ = i;
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
						_tmp20_ = _tmp18_[_tmp19_];
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
						_tmp16_ = _tmp20_ != NULL;
#line 976 "tracker-sparql-expression.c"
					} else {
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
						_tmp16_ = FALSE;
#line 980 "tracker-sparql-expression.c"
					}
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp11_ = _tmp16_;
#line 984 "tracker-sparql-expression.c"
				}
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				if (!_tmp11_) {
#line 970 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					break;
#line 990 "tracker-sparql-expression.c"
				}
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp22_ = str_array;
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp22__length1 = str_array_length1;
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp23_ = i;
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp24_ = _tmp22_[_tmp23_];
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				if (_tmp24_ != NULL) {
#line 1002 "tracker-sparql-expression.c"
					gchar** _tmp25_ = NULL;
					gint _tmp25__length1 = 0;
					gint _tmp26_ = 0;
					const gchar* _tmp27_ = NULL;
					gint _tmp28_ = 0;
					gint _tmp29_ = 0;
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp25_ = str_array;
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp25__length1 = str_array_length1;
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp26_ = i;
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp27_ = _tmp25_[_tmp26_];
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp28_ = strlen ((const gchar*) _tmp27_);
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp29_ = _tmp28_;
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp21_ = _tmp29_;
#line 1023 "tracker-sparql-expression.c"
				} else {
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp21_ = 0;
#line 1027 "tracker-sparql-expression.c"
				}
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp30_ = len;
#line 971 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				len = _tmp30_ + _tmp21_;
#line 1033 "tracker-sparql-expression.c"
			}
		}
#line 973 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp31_ = i;
#line 973 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		if (_tmp31_ == 0) {
#line 1040 "tracker-sparql-expression.c"
			gchar* _tmp32_ = NULL;
#line 974 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
			_tmp32_ = g_strdup ("");
#line 974 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
			result = _tmp32_;
#line 974 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
			return result;
#line 1048 "tracker-sparql-expression.c"
		}
#line 976 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp33_ = i;
#line 976 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		str_array_length1 = _tmp33_;
#line 976 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp34_ = str_array_length1;
#line 977 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp35_ = len;
#line 977 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp36_ = separator;
#line 977 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp37_ = strlen ((const gchar*) _tmp36_);
#line 977 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp38_ = _tmp37_;
#line 977 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp39_ = i;
#line 977 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		len = _tmp35_ + (_tmp38_ * (_tmp39_ - 1));
#line 979 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp40_ = len;
#line 979 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp41_ = g_malloc (_tmp40_);
#line 979 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		res = _tmp41_;
#line 980 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp42_ = res;
#line 980 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp43_ = str_array;
#line 980 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp43__length1 = str_array_length1;
#line 980 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp44_ = _tmp43_[0];
#line 980 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp45_ = g_stpcpy ((void*) _tmp42_, (const gchar*) _tmp44_);
#line 980 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		ptr = _tmp45_;
#line 1086 "tracker-sparql-expression.c"
		{
			gboolean _tmp46_ = FALSE;
#line 981 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
			i = 1;
#line 981 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
			_tmp46_ = TRUE;
#line 981 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
			while (TRUE) {
#line 1095 "tracker-sparql-expression.c"
				gint _tmp48_ = 0;
				gchar** _tmp49_ = NULL;
				gint _tmp49__length1 = 0;
				void* _tmp50_ = NULL;
				const gchar* _tmp51_ = NULL;
				void* _tmp52_ = NULL;
				const gchar* _tmp53_ = NULL;
				gchar** _tmp54_ = NULL;
				gint _tmp54__length1 = 0;
				gint _tmp55_ = 0;
				const gchar* _tmp56_ = NULL;
				void* _tmp60_ = NULL;
				void* _tmp61_ = NULL;
#line 981 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				if (!_tmp46_) {
#line 1111 "tracker-sparql-expression.c"
					gint _tmp47_ = 0;
#line 981 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp47_ = i;
#line 981 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					i = _tmp47_ + 1;
#line 1117 "tracker-sparql-expression.c"
				}
#line 981 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp46_ = FALSE;
#line 981 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp48_ = i;
#line 981 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp49_ = str_array;
#line 981 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp49__length1 = str_array_length1;
#line 981 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				if (!(_tmp48_ < _tmp49__length1)) {
#line 981 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					break;
#line 1131 "tracker-sparql-expression.c"
				}
#line 982 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp50_ = ptr;
#line 982 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp51_ = separator;
#line 982 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp52_ = g_stpcpy (_tmp50_, (const gchar*) _tmp51_);
#line 982 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				ptr = _tmp52_;
#line 983 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp54_ = str_array;
#line 983 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp54__length1 = str_array_length1;
#line 983 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp55_ = i;
#line 983 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp56_ = _tmp54_[_tmp55_];
#line 983 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				if (_tmp56_ != NULL) {
#line 1151 "tracker-sparql-expression.c"
					gchar** _tmp57_ = NULL;
					gint _tmp57__length1 = 0;
					gint _tmp58_ = 0;
					const gchar* _tmp59_ = NULL;
#line 983 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp57_ = str_array;
#line 983 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp57__length1 = str_array_length1;
#line 983 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp58_ = i;
#line 983 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp59_ = _tmp57_[_tmp58_];
#line 983 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp53_ = (const gchar*) _tmp59_;
#line 1166 "tracker-sparql-expression.c"
				} else {
#line 983 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
					_tmp53_ = "";
#line 1170 "tracker-sparql-expression.c"
				}
#line 983 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp60_ = ptr;
#line 983 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				_tmp61_ = g_stpcpy (_tmp60_, _tmp53_);
#line 983 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
				ptr = _tmp61_;
#line 1178 "tracker-sparql-expression.c"
			}
		}
#line 986 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp62_ = res;
#line 986 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		res = NULL;
#line 986 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		result = (gchar*) _tmp62_;
#line 986 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		return result;
#line 1189 "tracker-sparql-expression.c"
	} else {
		gchar* _tmp63_ = NULL;
#line 988 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp63_ = g_strdup ("");
#line 988 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		result = _tmp63_;
#line 988 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		return result;
#line 1198 "tracker-sparql-expression.c"
	}
}


static gchar* tracker_sparql_expression_escape_sql_string_literal (TrackerSparqlExpression* self, const gchar* literal) {
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar** _tmp1_ = NULL;
	gchar** _tmp2_ = NULL;
	gchar** _tmp3_ = NULL;
	gint _tmp3__length1 = 0;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
#line 77 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 77 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (literal != NULL, NULL);
#line 78 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = literal;
#line 78 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = _tmp1_ = g_strsplit (_tmp0_, "'", 0);
#line 78 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = _tmp2_;
#line 78 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3__length1 = _vala_array_length (_tmp1_);
#line 78 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp4_ = _vala_g_strjoinv ("''", _tmp3_, _vala_array_length (_tmp1_));
#line 78 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp5_ = _tmp4_;
#line 78 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp6_ = g_strdup_printf ("'%s'", _tmp5_);
#line 78 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp7_ = _tmp6_;
#line 78 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_free0 (_tmp5_);
#line 78 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL);
#line 78 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp7_;
#line 78 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 1242 "tracker-sparql-expression.c"
}


static gboolean tracker_sparql_expression_maybe_numeric (TrackerSparqlExpression* self, TrackerPropertyType type) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_ = FALSE;
	TrackerPropertyType _tmp4_ = 0;
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp4_ = type;
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp4_ == TRACKER_PROPERTY_TYPE_INTEGER) {
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = TRUE;
#line 1261 "tracker-sparql-expression.c"
	} else {
		TrackerPropertyType _tmp5_ = 0;
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = type;
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = _tmp5_ == TRACKER_PROPERTY_TYPE_DOUBLE;
#line 1268 "tracker-sparql-expression.c"
	}
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp3_) {
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = TRUE;
#line 1274 "tracker-sparql-expression.c"
	} else {
		TrackerPropertyType _tmp6_ = 0;
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = type;
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = _tmp6_ == TRACKER_PROPERTY_TYPE_DATE;
#line 1281 "tracker-sparql-expression.c"
	}
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp2_) {
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = TRUE;
#line 1287 "tracker-sparql-expression.c"
	} else {
		TrackerPropertyType _tmp7_ = 0;
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = type;
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = _tmp7_ == TRACKER_PROPERTY_TYPE_DATETIME;
#line 1294 "tracker-sparql-expression.c"
	}
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp1_) {
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp0_ = TRUE;
#line 1300 "tracker-sparql-expression.c"
	} else {
		TrackerPropertyType _tmp8_ = 0;
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = type;
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp0_ = _tmp8_ == TRACKER_PROPERTY_TYPE_UNKNOWN;
#line 1307 "tracker-sparql-expression.c"
	}
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp0_;
#line 82 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 1313 "tracker-sparql-expression.c"
}


static void tracker_sparql_expression_append_collate (TrackerSparqlExpression* self, GString* sql) {
	GString* _tmp0_ = NULL;
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 86 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 86 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append_printf (_tmp0_, " COLLATE %s", TRACKER_COLLATION_NAME);
#line 1327 "tracker-sparql-expression.c"
}


static void tracker_sparql_expression_skip_bracketted_expression (TrackerSparqlExpression* self, GError** error) {
	GError * _inner_error_ = NULL;
#line 89 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 90 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 90 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 90 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 90 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 90 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 1345 "tracker-sparql-expression.c"
		} else {
#line 90 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 90 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 90 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 1353 "tracker-sparql-expression.c"
		}
	}
#line 91 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	while (TRUE) {
#line 1358 "tracker-sparql-expression.c"
		TrackerSparqlTokenType _tmp0_ = 0;
#line 92 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp0_ = tracker_sparql_expression_current (self);
#line 92 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		switch (_tmp0_) {
#line 92 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS:
#line 1366 "tracker-sparql-expression.c"
			{
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_expression_skip_bracketted_expression (self, &_inner_error_);
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1378 "tracker-sparql-expression.c"
					} else {
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1386 "tracker-sparql-expression.c"
					}
				}
#line 96 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				continue;
#line 1391 "tracker-sparql-expression.c"
			}
#line 92 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS:
#line 92 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_EOF:
#line 1397 "tracker-sparql-expression.c"
			{
#line 99 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				break;
#line 1401 "tracker-sparql-expression.c"
			}
			default:
			{
#line 101 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_expression_next (self, &_inner_error_);
#line 101 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 101 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 101 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 101 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1415 "tracker-sparql-expression.c"
					} else {
#line 101 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 101 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 101 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1423 "tracker-sparql-expression.c"
					}
				}
#line 102 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				continue;
#line 1428 "tracker-sparql-expression.c"
			}
		}
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		break;
#line 1433 "tracker-sparql-expression.c"
	}
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 1445 "tracker-sparql-expression.c"
		} else {
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 1453 "tracker-sparql-expression.c"
		}
	}
}


void tracker_sparql_expression_skip_select_variables (TrackerSparqlExpression* self, GError** error) {
	GError * _inner_error_ = NULL;
#line 109 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 110 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	while (TRUE) {
#line 1465 "tracker-sparql-expression.c"
		TrackerSparqlTokenType _tmp0_ = 0;
#line 111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp0_ = tracker_sparql_expression_current (self);
#line 111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		switch (_tmp0_) {
#line 111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS:
#line 1473 "tracker-sparql-expression.c"
			{
#line 113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_expression_skip_bracketted_expression (self, &_inner_error_);
#line 113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1485 "tracker-sparql-expression.c"
					} else {
#line 113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1493 "tracker-sparql-expression.c"
					}
				}
#line 114 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				continue;
#line 1498 "tracker-sparql-expression.c"
			}
#line 111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_FROM:
#line 111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_WHERE:
#line 111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_OPEN_BRACE:
#line 111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_GROUP:
#line 111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_ORDER:
#line 111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_LIMIT:
#line 111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_OFFSET:
#line 111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_EOF:
#line 1516 "tracker-sparql-expression.c"
			{
#line 123 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				break;
#line 1520 "tracker-sparql-expression.c"
			}
			default:
			{
#line 125 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_expression_next (self, &_inner_error_);
#line 125 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 125 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 125 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 125 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1534 "tracker-sparql-expression.c"
					} else {
#line 125 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 125 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 125 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1542 "tracker-sparql-expression.c"
					}
				}
#line 126 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				continue;
#line 1547 "tracker-sparql-expression.c"
			}
		}
#line 128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		break;
#line 1552 "tracker-sparql-expression.c"
	}
}


static glong string_strnlen (gchar* str, glong maxlen) {
	glong result = 0L;
	gchar* end = NULL;
	gchar* _tmp0_ = NULL;
	glong _tmp1_ = 0L;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
#line 1197 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp0_ = str;
#line 1197 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp1_ = maxlen;
#line 1197 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
#line 1197 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	end = _tmp2_;
#line 1198 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp3_ = end;
#line 1198 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	if (_tmp3_ == NULL) {
#line 1576 "tracker-sparql-expression.c"
		glong _tmp4_ = 0L;
#line 1199 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp4_ = maxlen;
#line 1199 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		result = _tmp4_;
#line 1199 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		return result;
#line 1584 "tracker-sparql-expression.c"
	} else {
		gchar* _tmp5_ = NULL;
		gchar* _tmp6_ = NULL;
#line 1201 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp5_ = end;
#line 1201 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp6_ = str;
#line 1201 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		result = (glong) (_tmp5_ - _tmp6_);
#line 1201 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		return result;
#line 1596 "tracker-sparql-expression.c"
	}
}


static gchar* string_substring (const gchar* self, glong offset, glong len) {
	gchar* result = NULL;
	glong string_length = 0L;
	gboolean _tmp0_ = FALSE;
	glong _tmp1_ = 0L;
	glong _tmp8_ = 0L;
	glong _tmp14_ = 0L;
	glong _tmp17_ = 0L;
	glong _tmp18_ = 0L;
	glong _tmp19_ = 0L;
	glong _tmp20_ = 0L;
	glong _tmp21_ = 0L;
	gchar* _tmp22_ = NULL;
#line 1208 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1210 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp1_ = offset;
#line 1210 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	if (_tmp1_ >= ((glong) 0)) {
#line 1620 "tracker-sparql-expression.c"
		glong _tmp2_ = 0L;
#line 1210 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp2_ = len;
#line 1210 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp0_ = _tmp2_ >= ((glong) 0);
#line 1626 "tracker-sparql-expression.c"
	} else {
#line 1210 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp0_ = FALSE;
#line 1630 "tracker-sparql-expression.c"
	}
#line 1210 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	if (_tmp0_) {
#line 1634 "tracker-sparql-expression.c"
		glong _tmp3_ = 0L;
		glong _tmp4_ = 0L;
		glong _tmp5_ = 0L;
#line 1212 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp3_ = offset;
#line 1212 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp4_ = len;
#line 1212 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_);
#line 1212 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		string_length = _tmp5_;
#line 1646 "tracker-sparql-expression.c"
	} else {
		gint _tmp6_ = 0;
		gint _tmp7_ = 0;
#line 1214 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp6_ = strlen (self);
#line 1214 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp7_ = _tmp6_;
#line 1214 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		string_length = (glong) _tmp7_;
#line 1656 "tracker-sparql-expression.c"
	}
#line 1217 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp8_ = offset;
#line 1217 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	if (_tmp8_ < ((glong) 0)) {
#line 1662 "tracker-sparql-expression.c"
		glong _tmp9_ = 0L;
		glong _tmp10_ = 0L;
		glong _tmp11_ = 0L;
#line 1218 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp9_ = string_length;
#line 1218 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp10_ = offset;
#line 1218 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		offset = _tmp9_ + _tmp10_;
#line 1219 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp11_ = offset;
#line 1219 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL);
#line 1676 "tracker-sparql-expression.c"
	} else {
		glong _tmp12_ = 0L;
		glong _tmp13_ = 0L;
#line 1221 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp12_ = offset;
#line 1221 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp13_ = string_length;
#line 1221 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL);
#line 1686 "tracker-sparql-expression.c"
	}
#line 1223 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp14_ = len;
#line 1223 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	if (_tmp14_ < ((glong) 0)) {
#line 1692 "tracker-sparql-expression.c"
		glong _tmp15_ = 0L;
		glong _tmp16_ = 0L;
#line 1224 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp15_ = string_length;
#line 1224 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		_tmp16_ = offset;
#line 1224 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
		len = _tmp15_ - _tmp16_;
#line 1701 "tracker-sparql-expression.c"
	}
#line 1226 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp17_ = offset;
#line 1226 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp18_ = len;
#line 1226 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp19_ = string_length;
#line 1226 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL);
#line 1227 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp20_ = offset;
#line 1227 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp21_ = len;
#line 1227 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_);
#line 1227 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	result = _tmp22_;
#line 1227 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	return result;
#line 1721 "tracker-sparql-expression.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return self ? g_object_ref (self) : NULL;
#line 1728 "tracker-sparql-expression.c"
}


static void _vala_array_add1 (gchar*** array, int* length, int* size, gchar* value) {
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if ((*length) == (*size)) {
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*array = g_renew (gchar*, *array, (*size) + 1);
#line 1739 "tracker-sparql-expression.c"
	}
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	(*array)[(*length)++] = value;
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	(*array)[*length] = NULL;
#line 1745 "tracker-sparql-expression.c"
}


static void _vala_array_add2 (gchar*** array, int* length, int* size, gchar* value) {
#line 215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if ((*length) == (*size)) {
#line 215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*array = g_renew (gchar*, *array, (*size) + 1);
#line 1756 "tracker-sparql-expression.c"
	}
#line 215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	(*array)[(*length)++] = value;
#line 215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	(*array)[*length] = NULL;
#line 1762 "tracker-sparql-expression.c"
}


static void _vala_array_add3 (gchar*** array, int* length, int* size, gchar* value) {
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if ((*length) == (*size)) {
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*array = g_renew (gchar*, *array, (*size) + 1);
#line 1773 "tracker-sparql-expression.c"
	}
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	(*array)[(*length)++] = value;
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	(*array)[*length] = NULL;
#line 1779 "tracker-sparql-expression.c"
}


static void _vala_array_add4 (gchar*** array, int* length, int* size, gchar* value) {
#line 233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if ((*length) == (*size)) {
#line 233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*array = g_renew (gchar*, *array, (*size) + 1);
#line 1790 "tracker-sparql-expression.c"
	}
#line 233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	(*array)[(*length)++] = value;
#line 233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	(*array)[*length] = NULL;
#line 1796 "tracker-sparql-expression.c"
}


TrackerPropertyType tracker_sparql_expression_translate_select_expression (TrackerSparqlExpression* self, GString* sql, gboolean subquery, gint variable_index, GError** error) {
	TrackerPropertyType result = 0;
	TrackerSparqlVariable* variable = NULL;
	gboolean expect_close_parens = FALSE;
	gboolean as_handled = FALSE;
	glong begin = 0L;
	GString* _tmp0_ = NULL;
	gssize _tmp1_ = 0L;
	TrackerPropertyType type = 0;
	TrackerSparqlTokenType _tmp2_ = 0;
	gboolean _tmp42_ = FALSE;
	gboolean _tmp46_ = FALSE;
	gboolean _tmp47_ = FALSE;
	TrackerSparqlPattern* _tmp83_ = NULL;
	TrackerSparqlPattern* _tmp84_ = NULL;
	TrackerSparqlVariable* _tmp85_ = NULL;
	gboolean _tmp118_ = FALSE;
	TrackerSparqlVariable* _tmp119_ = NULL;
	GError * _inner_error_ = NULL;
#line 132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	variable = NULL;
#line 134 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	expect_close_parens = FALSE;
#line 135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	as_handled = FALSE;
#line 137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _tmp0_->len;
#line 137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp1_;
#line 138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	type = TRACKER_PROPERTY_TYPE_UNKNOWN;
#line 139 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = tracker_sparql_expression_current (self);
#line 139 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp2_ == TRACKER_SPARQL_TOKEN_TYPE_VAR) {
#line 1841 "tracker-sparql-expression.c"
		TrackerPropertyType _tmp3_ = 0;
		GString* _tmp4_ = NULL;
		TrackerPropertyType _tmp5_ = 0;
		TrackerSparqlContext* _tmp6_ = NULL;
		TrackerSparqlContext* _tmp7_ = NULL;
		gchar* _tmp8_ = NULL;
		gchar* _tmp9_ = NULL;
		gchar* _tmp10_ = NULL;
		gchar* _tmp11_ = NULL;
		TrackerSparqlVariable* _tmp12_ = NULL;
		TrackerSparqlVariable* _tmp13_ = NULL;
		TrackerSparqlVariable* _tmp14_ = NULL;
		TrackerSparqlVariableBinding* _tmp15_ = NULL;
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = sql;
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = tracker_sparql_expression_translate_expression (self, _tmp4_, &_inner_error_);
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = _tmp5_;
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 1871 "tracker-sparql-expression.c"
			} else {
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 1881 "tracker-sparql-expression.c"
			}
		}
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		type = _tmp3_;
#line 142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = tracker_sparql_expression_get_context (self);
#line 142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = _tmp6_;
#line 142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = tracker_sparql_expression_get_last_string (self, 0);
#line 142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = _tmp8_;
#line 142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_ = string_substring (_tmp9_, (glong) 1, (glong) -1);
#line 142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = _tmp10_;
#line 142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp12_ = tracker_sparql_context_get_variable (_tmp7_, _tmp11_);
#line 142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp13_ = _g_object_ref0 (_tmp12_);
#line 142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_object_unref0 (variable);
#line 142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable = _tmp13_;
#line 142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp11_);
#line 142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp9_);
#line 144 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp14_ = variable;
#line 144 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp15_ = _tmp14_->binding;
#line 144 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp15_ == NULL) {
#line 1916 "tracker-sparql-expression.c"
			TrackerSparqlVariable* _tmp16_ = NULL;
			const gchar* _tmp17_ = NULL;
			const gchar* _tmp18_ = NULL;
			gchar* _tmp19_ = NULL;
			gchar* _tmp20_ = NULL;
			GError* _tmp21_ = NULL;
			GError* _tmp22_ = NULL;
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp16_ = variable;
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp17_ = tracker_sparql_variable_get_name (_tmp16_);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp18_ = _tmp17_;
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp19_ = g_strdup_printf ("use of undefined variable `%s'", _tmp18_);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp20_ = _tmp19_;
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp21_ = tracker_sparql_expression_get_error (self, _tmp20_);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp22_ = _tmp21_;
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp20_);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp22_;
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 1950 "tracker-sparql-expression.c"
			} else {
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 1960 "tracker-sparql-expression.c"
			}
		}
	} else {
		gboolean _tmp23_ = FALSE;
		gboolean _tmp24_ = FALSE;
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp24_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp23_ = _tmp24_;
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 1980 "tracker-sparql-expression.c"
			} else {
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 1990 "tracker-sparql-expression.c"
			}
		}
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp23_) {
#line 1995 "tracker-sparql-expression.c"
			TrackerSparqlTokenType _tmp25_ = 0;
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp25_ = tracker_sparql_expression_current (self);
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp25_ == TRACKER_SPARQL_TOKEN_TYPE_SELECT) {
#line 2001 "tracker-sparql-expression.c"
				GString* _tmp26_ = NULL;
				TrackerSparqlSelectContext* select_context = NULL;
				TrackerSparqlPattern* _tmp27_ = NULL;
				TrackerSparqlPattern* _tmp28_ = NULL;
				GString* _tmp29_ = NULL;
				TrackerSparqlSelectContext* _tmp30_ = NULL;
				GString* _tmp31_ = NULL;
				TrackerSparqlSelectContext* _tmp32_ = NULL;
				TrackerPropertyType _tmp33_ = 0;
#line 151 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp26_ = sql;
#line 151 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp26_, "(");
#line 152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp27_ = tracker_sparql_expression_get_pattern (self);
#line 152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp28_ = _tmp27_;
#line 152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp29_ = sql;
#line 152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp30_ = tracker_sparql_pattern_translate_select (_tmp28_, _tmp29_, TRUE, TRUE, &_inner_error_);
#line 152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				select_context = _tmp30_;
#line 152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (variable);
#line 152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 2035 "tracker-sparql-expression.c"
					} else {
#line 152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (variable);
#line 152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 2045 "tracker-sparql-expression.c"
					}
				}
#line 153 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp31_ = sql;
#line 153 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp31_, ")");
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tracker_sparql_context_unref0 (select_context);
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (variable);
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 2066 "tracker-sparql-expression.c"
					} else {
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tracker_sparql_context_unref0 (select_context);
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (variable);
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 2078 "tracker-sparql-expression.c"
					}
				}
#line 156 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp32_ = select_context;
#line 156 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp33_ = _tmp32_->type;
#line 156 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				type = _tmp33_;
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tracker_sparql_context_unref0 (select_context);
#line 2089 "tracker-sparql-expression.c"
			} else {
				TrackerPropertyType _tmp34_ = 0;
				GString* _tmp35_ = NULL;
				TrackerPropertyType _tmp36_ = 0;
				gboolean _tmp37_ = FALSE;
				gboolean _tmp38_ = FALSE;
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp35_ = sql;
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp36_ = tracker_sparql_expression_translate_expression (self, _tmp35_, &_inner_error_);
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp34_ = _tmp36_;
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (variable);
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 2112 "tracker-sparql-expression.c"
					} else {
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (variable);
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 2122 "tracker-sparql-expression.c"
					}
				}
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				type = _tmp34_;
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp38_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp37_ = _tmp38_;
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (variable);
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 2141 "tracker-sparql-expression.c"
					} else {
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (variable);
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 2151 "tracker-sparql-expression.c"
					}
				}
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_tmp37_) {
#line 2156 "tracker-sparql-expression.c"
				} else {
#line 165 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					expect_close_parens = TRUE;
#line 2160 "tracker-sparql-expression.c"
				}
			}
		} else {
			TrackerPropertyType _tmp39_ = 0;
			GString* _tmp40_ = NULL;
			TrackerPropertyType _tmp41_ = 0;
#line 171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp40_ = sql;
#line 171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp41_ = tracker_sparql_expression_translate_expression (self, _tmp40_, &_inner_error_);
#line 171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp39_ = _tmp41_;
#line 171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_object_unref0 (variable);
#line 171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 2183 "tracker-sparql-expression.c"
				} else {
#line 171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_object_unref0 (variable);
#line 171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 2193 "tracker-sparql-expression.c"
				}
			}
#line 171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp39_;
#line 2198 "tracker-sparql-expression.c"
		}
	}
#line 174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp42_ = subquery;
#line 174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (!_tmp42_) {
#line 2205 "tracker-sparql-expression.c"
		GString* _tmp43_ = NULL;
		TrackerPropertyType _tmp44_ = 0;
		glong _tmp45_ = 0L;
#line 175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp43_ = sql;
#line 175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp44_ = type;
#line 175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp45_ = begin;
#line 175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_convert_expression_to_string (_tmp43_, _tmp44_, _tmp45_);
#line 2217 "tracker-sparql-expression.c"
	}
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp47_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_AS, &_inner_error_);
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp46_ = _tmp47_;
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (variable);
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 2233 "tracker-sparql-expression.c"
		} else {
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (variable);
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 2243 "tracker-sparql-expression.c"
		}
	}
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp46_) {
#line 2248 "tracker-sparql-expression.c"
		gboolean _tmp48_ = FALSE;
		gboolean _tmp49_ = FALSE;
		GString* _tmp64_ = NULL;
		TrackerSparqlVariable* _tmp65_ = NULL;
		const gchar* _tmp66_ = NULL;
		const gchar* _tmp67_ = NULL;
		gboolean _tmp68_ = FALSE;
#line 179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp49_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX, &_inner_error_);
#line 179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp48_ = _tmp49_;
#line 179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 2270 "tracker-sparql-expression.c"
			} else {
#line 179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 2280 "tracker-sparql-expression.c"
			}
		}
#line 179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp48_) {
#line 2285 "tracker-sparql-expression.c"
			TrackerSparqlContext* _tmp50_ = NULL;
			TrackerSparqlContext* _tmp51_ = NULL;
			gchar* _tmp52_ = NULL;
			gchar* _tmp53_ = NULL;
			TrackerSparqlVariable* _tmp54_ = NULL;
			TrackerSparqlVariable* _tmp55_ = NULL;
#line 182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp50_ = tracker_sparql_expression_get_context (self);
#line 182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp51_ = _tmp50_;
#line 182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp52_ = tracker_sparql_expression_get_last_string (self, 0);
#line 182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp53_ = _tmp52_;
#line 182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp54_ = tracker_sparql_context_get_variable (_tmp51_, _tmp53_);
#line 182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp55_ = _g_object_ref0 (_tmp54_);
#line 182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (variable);
#line 182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			variable = _tmp55_;
#line 182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp53_);
#line 2310 "tracker-sparql-expression.c"
		} else {
			TrackerSparqlContext* _tmp56_ = NULL;
			TrackerSparqlContext* _tmp57_ = NULL;
			gchar* _tmp58_ = NULL;
			gchar* _tmp59_ = NULL;
			gchar* _tmp60_ = NULL;
			gchar* _tmp61_ = NULL;
			TrackerSparqlVariable* _tmp62_ = NULL;
			TrackerSparqlVariable* _tmp63_ = NULL;
#line 186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
#line 186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_object_unref0 (variable);
#line 186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 2332 "tracker-sparql-expression.c"
				} else {
#line 186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_object_unref0 (variable);
#line 186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 2342 "tracker-sparql-expression.c"
				}
			}
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp56_ = tracker_sparql_expression_get_context (self);
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp57_ = _tmp56_;
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp58_ = tracker_sparql_expression_get_last_string (self, 0);
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp59_ = _tmp58_;
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp60_ = string_substring (_tmp59_, (glong) 1, (glong) -1);
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp61_ = _tmp60_;
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp62_ = tracker_sparql_context_get_variable (_tmp57_, _tmp61_);
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp63_ = _g_object_ref0 (_tmp62_);
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (variable);
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			variable = _tmp63_;
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp61_);
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp59_);
#line 2369 "tracker-sparql-expression.c"
		}
#line 189 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp64_ = sql;
#line 189 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp65_ = variable;
#line 189 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp66_ = tracker_sparql_variable_get_sql_expression (_tmp65_);
#line 189 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp67_ = _tmp66_;
#line 189 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append_printf (_tmp64_, " AS %s", _tmp67_);
#line 190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		as_handled = TRUE;
#line 192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp68_ = subquery;
#line 192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp68_) {
#line 2387 "tracker-sparql-expression.c"
			TrackerSparqlVariableBinding* binding = NULL;
			TrackerSparqlVariableBinding* _tmp69_ = NULL;
			TrackerSparqlVariableBinding* _tmp70_ = NULL;
			TrackerPropertyType _tmp71_ = 0;
			TrackerSparqlVariableBinding* _tmp72_ = NULL;
			TrackerSparqlVariable* _tmp73_ = NULL;
			TrackerSparqlVariableBinding* _tmp74_ = NULL;
			TrackerSparqlVariable* _tmp75_ = NULL;
			const gchar* _tmp76_ = NULL;
			const gchar* _tmp77_ = NULL;
			TrackerSparqlPattern* _tmp78_ = NULL;
			TrackerSparqlPattern* _tmp79_ = NULL;
			GString* _tmp80_ = NULL;
			GString* _tmp81_ = NULL;
			TrackerSparqlVariableBinding* _tmp82_ = NULL;
#line 193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp69_ = tracker_sparql_variable_binding_new ();
#line 193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			binding = _tmp69_;
#line 194 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp70_ = binding;
#line 194 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp71_ = type;
#line 194 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			((TrackerSparqlDataBinding*) _tmp70_)->data_type = _tmp71_;
#line 195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp72_ = binding;
#line 195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp73_ = variable;
#line 195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp72_->variable = _tmp73_;
#line 196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp74_ = binding;
#line 196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp75_ = variable;
#line 196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp76_ = tracker_sparql_variable_get_sql_expression (_tmp75_);
#line 196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp77_ = _tmp76_;
#line 196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_data_binding_set_sql_expression ((TrackerSparqlDataBinding*) _tmp74_, _tmp77_);
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp78_ = tracker_sparql_expression_get_pattern (self);
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp79_ = _tmp78_;
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp80_ = g_string_new ("");
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp81_ = _tmp80_;
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp82_ = binding;
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_pattern_add_variable_binding (_tmp79_, _tmp81_, _tmp82_, TRACKER_SPARQL_VARIABLE_STATE_BOUND);
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_string_free0 (_tmp81_);
#line 192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (binding);
#line 2445 "tracker-sparql-expression.c"
		}
	}
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp83_ = tracker_sparql_expression_get_pattern (self);
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp84_ = _tmp83_;
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp85_ = _tmp84_->fts_subject;
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp85_ != NULL) {
#line 2456 "tracker-sparql-expression.c"
		TrackerSparqlVariable* _tmp86_ = NULL;
		const gchar* _tmp94_ = NULL;
#line 202 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp86_ = variable;
#line 202 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp86_ == NULL) {
#line 2463 "tracker-sparql-expression.c"
			TrackerSparqlContext* _tmp87_ = NULL;
			TrackerSparqlContext* _tmp88_ = NULL;
			gint _tmp89_ = 0;
			gchar* _tmp90_ = NULL;
			gchar* _tmp91_ = NULL;
			TrackerSparqlVariable* _tmp92_ = NULL;
			TrackerSparqlVariable* _tmp93_ = NULL;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp87_ = tracker_sparql_expression_get_context (self);
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp88_ = _tmp87_;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp89_ = variable_index;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp90_ = g_strdup_printf ("var%d", _tmp89_ + 1);
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp91_ = _tmp90_;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp92_ = tracker_sparql_context_get_variable (_tmp88_, _tmp91_);
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp93_ = _g_object_ref0 (_tmp92_);
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (variable);
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			variable = _tmp93_;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp91_);
#line 2491 "tracker-sparql-expression.c"
		}
#line 208 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp94_ = self->priv->fts_sql;
#line 208 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp94_ == NULL) {
#line 2497 "tracker-sparql-expression.c"
			TrackerSparqlPattern* _tmp95_ = NULL;
			TrackerSparqlPattern* _tmp96_ = NULL;
			TrackerSparqlPattern* _tmp97_ = NULL;
			TrackerSparqlPattern* _tmp98_ = NULL;
			gchar** _tmp99_ = NULL;
			gint _tmp99__length1 = 0;
			TrackerSparqlVariable* _tmp100_ = NULL;
			const gchar* _tmp101_ = NULL;
			const gchar* _tmp102_ = NULL;
			gchar* _tmp103_ = NULL;
			gboolean _tmp104_ = FALSE;
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp95_ = tracker_sparql_expression_get_pattern (self);
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp96_ = _tmp95_;
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp97_ = tracker_sparql_expression_get_pattern (self);
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp98_ = _tmp97_;
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp99_ = _tmp98_->fts_variables;
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp99__length1 = _tmp98_->fts_variables_length1;
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp100_ = variable;
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp101_ = tracker_sparql_variable_get_sql_expression (_tmp100_);
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp102_ = _tmp101_;
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp103_ = g_strdup (_tmp102_);
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_vala_array_add1 (&_tmp96_->fts_variables, &_tmp96_->fts_variables_length1, &_tmp96_->_fts_variables_size_, _tmp103_);
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp104_ = as_handled;
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp104_ == FALSE) {
#line 2535 "tracker-sparql-expression.c"
				GString* _tmp105_ = NULL;
				TrackerSparqlVariable* _tmp106_ = NULL;
				const gchar* _tmp107_ = NULL;
				const gchar* _tmp108_ = NULL;
#line 212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp105_ = sql;
#line 212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp106_ = variable;
#line 212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp107_ = tracker_sparql_variable_get_sql_expression (_tmp106_);
#line 212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp108_ = _tmp107_;
#line 212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append_printf (_tmp105_, " AS %s", _tmp108_);
#line 2550 "tracker-sparql-expression.c"
			}
		} else {
			TrackerSparqlPattern* _tmp109_ = NULL;
			TrackerSparqlPattern* _tmp110_ = NULL;
			TrackerSparqlPattern* _tmp111_ = NULL;
			TrackerSparqlPattern* _tmp112_ = NULL;
			gchar** _tmp113_ = NULL;
			gint _tmp113__length1 = 0;
			const gchar* _tmp114_ = NULL;
			gchar* _tmp115_ = NULL;
			TrackerSparqlPattern* _tmp116_ = NULL;
			TrackerSparqlPattern* _tmp117_ = NULL;
#line 215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp109_ = tracker_sparql_expression_get_pattern (self);
#line 215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp110_ = _tmp109_;
#line 215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp111_ = tracker_sparql_expression_get_pattern (self);
#line 215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp112_ = _tmp111_;
#line 215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp113_ = _tmp112_->fts_variables;
#line 215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp113__length1 = _tmp112_->fts_variables_length1;
#line 215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp114_ = self->priv->fts_sql;
#line 215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp115_ = g_strdup (_tmp114_);
#line 215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_vala_array_add2 (&_tmp110_->fts_variables, &_tmp110_->fts_variables_length1, &_tmp110_->_fts_variables_size_, _tmp115_);
#line 216 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp116_ = tracker_sparql_expression_get_pattern (self);
#line 216 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp117_ = _tmp116_;
#line 216 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp117_->queries_fts_data = TRUE;
#line 2587 "tracker-sparql-expression.c"
		}
	}
#line 220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp118_ = expect_close_parens;
#line 220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp118_) {
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 2606 "tracker-sparql-expression.c"
			} else {
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 2616 "tracker-sparql-expression.c"
			}
		}
	}
#line 224 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp119_ = variable;
#line 224 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp119_ != NULL) {
#line 2624 "tracker-sparql-expression.c"
		gint state = 0;
		TrackerSparqlContext* _tmp120_ = NULL;
		TrackerSparqlContext* _tmp121_ = NULL;
		GHashTable* _tmp122_ = NULL;
		TrackerSparqlVariable* _tmp123_ = NULL;
		gconstpointer _tmp124_ = NULL;
		gint _tmp125_ = 0;
		TrackerSparqlContext* _tmp126_ = NULL;
		TrackerSparqlContext* _tmp127_ = NULL;
		GHashTable* _tmp128_ = NULL;
		TrackerSparqlVariable* _tmp129_ = NULL;
		TrackerSparqlVariable* _tmp130_ = NULL;
		gint _tmp131_ = 0;
		TrackerSparqlContext* _tmp132_ = NULL;
		TrackerSparqlContext* _tmp133_ = NULL;
		TrackerSparqlContext* _tmp134_ = NULL;
		TrackerSparqlContext* _tmp135_ = NULL;
		gchar** _tmp136_ = NULL;
		gint _tmp136__length1 = 0;
		TrackerSparqlVariable* _tmp137_ = NULL;
		const gchar* _tmp138_ = NULL;
		const gchar* _tmp139_ = NULL;
		gchar* _tmp140_ = NULL;
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp120_ = tracker_sparql_expression_get_context (self);
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp121_ = _tmp120_;
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp122_ = _tmp121_->var_set;
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp123_ = variable;
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp124_ = g_hash_table_lookup (_tmp122_, _tmp123_);
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		state = (gint) ((gintptr) _tmp124_);
#line 226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp125_ = state;
#line 226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp125_ == 0) {
#line 227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			state = (gint) TRACKER_SPARQL_VARIABLE_STATE_BOUND;
#line 2666 "tracker-sparql-expression.c"
		}
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp126_ = tracker_sparql_expression_get_context (self);
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp127_ = _tmp126_;
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp128_ = _tmp127_->select_var_set;
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp129_ = variable;
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp130_ = _g_object_ref0 (_tmp129_);
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp131_ = state;
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_hash_table_insert (_tmp128_, _tmp130_, (gpointer) ((gintptr) _tmp131_));
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp132_ = tracker_sparql_expression_get_context (self);
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp133_ = _tmp132_;
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp134_ = tracker_sparql_expression_get_context (self);
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp135_ = _tmp134_;
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp136_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp135_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names;
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp136__length1 = G_TYPE_CHECK_INSTANCE_CAST (_tmp135_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names_length1;
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp137_ = variable;
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp138_ = tracker_sparql_variable_get_name (_tmp137_);
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp139_ = _tmp138_;
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp140_ = g_strdup (_tmp139_);
#line 231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_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_);
#line 2704 "tracker-sparql-expression.c"
	} else {
		TrackerSparqlContext* _tmp141_ = NULL;
		TrackerSparqlContext* _tmp142_ = NULL;
		TrackerSparqlContext* _tmp143_ = NULL;
		TrackerSparqlContext* _tmp144_ = NULL;
		gchar** _tmp145_ = NULL;
		gint _tmp145__length1 = 0;
		gint _tmp146_ = 0;
		gchar* _tmp147_ = NULL;
#line 233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp141_ = tracker_sparql_expression_get_context (self);
#line 233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp142_ = _tmp141_;
#line 233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp143_ = tracker_sparql_expression_get_context (self);
#line 233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp144_ = _tmp143_;
#line 233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp145_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp144_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names;
#line 233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp145__length1 = G_TYPE_CHECK_INSTANCE_CAST (_tmp144_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names_length1;
#line 233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp146_ = variable_index;
#line 233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp147_ = g_strdup_printf ("var%d", _tmp146_ + 1);
#line 233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_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_);
#line 2732 "tracker-sparql-expression.c"
	}
#line 236 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_free0 (self->priv->fts_sql);
#line 236 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	self->priv->fts_sql = NULL;
#line 238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = type;
#line 238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_object_unref0 (variable);
#line 238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 2744 "tracker-sparql-expression.c"
}


static void tracker_sparql_expression_translate_expression_as_order_condition (TrackerSparqlExpression* self, GString* sql, GError** error) {
	glong begin = 0L;
	GString* _tmp0_ = NULL;
	gssize _tmp1_ = 0L;
	TrackerPropertyType _tmp2_ = 0;
	GString* _tmp3_ = NULL;
	TrackerPropertyType _tmp4_ = 0;
	GError * _inner_error_ = NULL;
#line 241 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 241 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _tmp0_->len;
#line 242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp1_;
#line 243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = sql;
#line 243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp4_ = tracker_sparql_expression_translate_expression (self, _tmp3_, &_inner_error_);
#line 243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = _tmp4_;
#line 243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 2780 "tracker-sparql-expression.c"
		} else {
#line 243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 2788 "tracker-sparql-expression.c"
		}
	}
#line 243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp2_ == TRACKER_PROPERTY_TYPE_RESOURCE) {
#line 2793 "tracker-sparql-expression.c"
		GString* _tmp5_ = NULL;
		GString* _tmp6_ = NULL;
#line 245 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = sql;
#line 245 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_insert (_tmp5_, (gssize) begin, "(SELECT Uri FROM Resource WHERE ID = ");
#line 246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = sql;
#line 246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp6_, ")");
#line 2804 "tracker-sparql-expression.c"
	}
}


void tracker_sparql_expression_translate_order_condition (TrackerSparqlExpression* self, GString* sql, GError** error) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GError * _inner_error_ = NULL;
#line 250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_ASC, &_inner_error_);
#line 251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = _tmp1_;
#line 251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 2829 "tracker-sparql-expression.c"
		} else {
#line 251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 2837 "tracker-sparql-expression.c"
		}
	}
#line 251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 2842 "tracker-sparql-expression.c"
		GString* _tmp2_ = NULL;
		GString* _tmp3_ = NULL;
#line 252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = sql;
#line 252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_translate_expression_as_order_condition (self, _tmp2_, &_inner_error_);
#line 252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 2857 "tracker-sparql-expression.c"
			} else {
#line 252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 2865 "tracker-sparql-expression.c"
			}
		}
#line 253 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = sql;
#line 253 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp3_, " ASC");
#line 2872 "tracker-sparql-expression.c"
	} else {
		gboolean _tmp4_ = FALSE;
		gboolean _tmp5_ = FALSE;
#line 254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DESC, &_inner_error_);
#line 254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = _tmp5_;
#line 254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 2888 "tracker-sparql-expression.c"
			} else {
#line 254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 2896 "tracker-sparql-expression.c"
			}
		}
#line 254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp4_) {
#line 2901 "tracker-sparql-expression.c"
			GString* _tmp6_ = NULL;
			GString* _tmp7_ = NULL;
#line 255 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = sql;
#line 255 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_order_condition (self, _tmp6_, &_inner_error_);
#line 255 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 255 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 255 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 255 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 2916 "tracker-sparql-expression.c"
				} else {
#line 255 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 255 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 255 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 2924 "tracker-sparql-expression.c"
				}
			}
#line 256 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = sql;
#line 256 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp7_, " DESC");
#line 2931 "tracker-sparql-expression.c"
		} else {
			GString* _tmp8_ = NULL;
#line 258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp8_ = sql;
#line 258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_order_condition (self, _tmp8_, &_inner_error_);
#line 258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 2946 "tracker-sparql-expression.c"
				} else {
#line 258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 2954 "tracker-sparql-expression.c"
				}
			}
		}
	}
}


static void tracker_sparql_expression_translate_bound_call (TrackerSparqlExpression* self, GString* sql, GError** error) {
	GString* _tmp0_ = NULL;
	GString* _tmp1_ = NULL;
	GString* _tmp2_ = NULL;
	GError * _inner_error_ = NULL;
#line 262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_BOUND, &_inner_error_);
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 2981 "tracker-sparql-expression.c"
		} else {
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 2989 "tracker-sparql-expression.c"
		}
	}
#line 264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3002 "tracker-sparql-expression.c"
		} else {
#line 264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3010 "tracker-sparql-expression.c"
		}
	}
#line 265 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 265 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp0_, "(");
#line 266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = sql;
#line 266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_translate_expression (self, _tmp1_, &_inner_error_);
#line 266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3029 "tracker-sparql-expression.c"
		} else {
#line 266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3037 "tracker-sparql-expression.c"
		}
	}
#line 267 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = sql;
#line 267 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp2_, " IS NOT NULL)");
#line 268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3054 "tracker-sparql-expression.c"
		} else {
#line 268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3062 "tracker-sparql-expression.c"
		}
	}
}


static TrackerPropertyType tracker_sparql_expression_translate_if_call (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerPropertyType result = 0;
	GString* _tmp0_ = NULL;
	GString* _tmp1_ = NULL;
	GString* _tmp2_ = NULL;
	TrackerPropertyType type = 0;
	GString* _tmp3_ = NULL;
	TrackerPropertyType _tmp4_ = 0;
	GString* _tmp5_ = NULL;
	GString* _tmp6_ = NULL;
	GString* _tmp7_ = NULL;
	GError * _inner_error_ = NULL;
#line 271 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 271 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_IF, &_inner_error_);
#line 272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3094 "tracker-sparql-expression.c"
		} else {
#line 272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3102 "tracker-sparql-expression.c"
		}
	}
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3115 "tracker-sparql-expression.c"
		} else {
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3123 "tracker-sparql-expression.c"
		}
	}
#line 276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp0_, "(CASE ");
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = sql;
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_translate_expression (self, _tmp1_, &_inner_error_);
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3142 "tracker-sparql-expression.c"
		} else {
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3150 "tracker-sparql-expression.c"
		}
	}
#line 280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = sql;
#line 280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp2_, " WHEN 1 THEN ");
#line 281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3167 "tracker-sparql-expression.c"
		} else {
#line 281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3175 "tracker-sparql-expression.c"
		}
	}
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = sql;
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp4_ = tracker_sparql_expression_translate_expression (self, _tmp3_, &_inner_error_);
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	type = _tmp4_;
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3192 "tracker-sparql-expression.c"
		} else {
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3200 "tracker-sparql-expression.c"
		}
	}
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp5_ = sql;
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp5_, " WHEN 0 THEN ");
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3217 "tracker-sparql-expression.c"
		} else {
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3225 "tracker-sparql-expression.c"
		}
	}
#line 287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp6_ = sql;
#line 287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_translate_expression (self, _tmp6_, &_inner_error_);
#line 287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3240 "tracker-sparql-expression.c"
		} else {
#line 287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3248 "tracker-sparql-expression.c"
		}
	}
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp7_ = sql;
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp7_, " ELSE NULL END)");
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3265 "tracker-sparql-expression.c"
		} else {
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3273 "tracker-sparql-expression.c"
		}
	}
#line 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = type;
#line 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 3280 "tracker-sparql-expression.c"
}


static void tracker_sparql_expression_translate_regex (TrackerSparqlExpression* self, GString* sql, GError** error) {
	GString* _tmp0_ = NULL;
	GString* _tmp1_ = NULL;
	GString* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	GString* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
	GString* _tmp8_ = NULL;
	gboolean _tmp9_ = FALSE;
	gboolean _tmp10_ = FALSE;
	GString* _tmp17_ = NULL;
	GError * _inner_error_ = NULL;
#line 296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_REGEX, &_inner_error_);
#line 297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3312 "tracker-sparql-expression.c"
		} else {
#line 297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3320 "tracker-sparql-expression.c"
		}
	}
#line 298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3333 "tracker-sparql-expression.c"
		} else {
#line 298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3341 "tracker-sparql-expression.c"
		}
	}
#line 299 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 299 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp0_, "SparqlRegex(");
#line 300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = sql;
#line 300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_translate_expression_as_string (self, _tmp1_, &_inner_error_);
#line 300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3360 "tracker-sparql-expression.c"
		} else {
#line 300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3368 "tracker-sparql-expression.c"
		}
	}
#line 301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = sql;
#line 301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp2_, ", ");
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3385 "tracker-sparql-expression.c"
		} else {
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3393 "tracker-sparql-expression.c"
		}
	}
#line 306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp4_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = _tmp4_;
#line 306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3408 "tracker-sparql-expression.c"
		} else {
#line 306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3416 "tracker-sparql-expression.c"
		}
	}
#line 306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp5_ = sql;
#line 306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp6_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp3_);
#line 306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp7_ = _tmp6_;
#line 306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp5_, _tmp7_);
#line 306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_free0 (_tmp7_);
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp8_ = sql;
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp8_, ", ");
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp10_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp9_ = _tmp10_;
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp3_);
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3447 "tracker-sparql-expression.c"
		} else {
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp3_);
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3457 "tracker-sparql-expression.c"
		}
	}
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp9_) {
#line 3462 "tracker-sparql-expression.c"
		gchar* _tmp11_ = NULL;
		gchar* _tmp12_ = NULL;
		GString* _tmp13_ = NULL;
		gchar* _tmp14_ = NULL;
		gchar* _tmp15_ = NULL;
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp12_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = _tmp12_;
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp3_);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 3482 "tracker-sparql-expression.c"
			} else {
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp3_);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 3492 "tracker-sparql-expression.c"
			}
		}
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp13_ = sql;
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp14_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp11_);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp15_ = _tmp14_;
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp13_, _tmp15_);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp15_);
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp11_);
#line 3507 "tracker-sparql-expression.c"
	} else {
		GString* _tmp16_ = NULL;
#line 313 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp16_ = sql;
#line 313 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp16_, "''");
#line 3514 "tracker-sparql-expression.c"
	}
#line 315 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp17_ = sql;
#line 315 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp17_, ")");
#line 316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp3_);
#line 316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3532 "tracker-sparql-expression.c"
		} else {
#line 316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp3_);
#line 316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3542 "tracker-sparql-expression.c"
		}
	}
#line 296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_free0 (_tmp3_);
#line 3547 "tracker-sparql-expression.c"
}


static void tracker_sparql_expression_translate_exists (TrackerSparqlExpression* self, GString* sql, GError** error) {
	GString* _tmp0_ = NULL;
	TrackerSparqlPattern* _tmp1_ = NULL;
	TrackerSparqlPattern* _tmp2_ = NULL;
	GString* _tmp3_ = NULL;
	GString* _tmp4_ = NULL;
	GError * _inner_error_ = NULL;
#line 319 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 319 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp0_, "(");
#line 321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = tracker_sparql_expression_get_pattern (self);
#line 321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = _tmp1_;
#line 321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = sql;
#line 321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_pattern_translate_exists (_tmp2_, _tmp3_, &_inner_error_);
#line 321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3582 "tracker-sparql-expression.c"
		} else {
#line 321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3590 "tracker-sparql-expression.c"
		}
	}
#line 322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp4_ = sql;
#line 322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp4_, ")");
#line 3597 "tracker-sparql-expression.c"
}


void tracker_sparql_expression_append_expression_as_string (GString* sql, const gchar* expression, TrackerPropertyType type) {
	glong begin = 0L;
	GString* _tmp0_ = NULL;
	gssize _tmp1_ = 0L;
	GString* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	GString* _tmp4_ = NULL;
	TrackerPropertyType _tmp5_ = 0;
#line 325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (expression != NULL);
#line 326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _tmp0_->len;
#line 326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp1_;
#line 327 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = sql;
#line 327 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = expression;
#line 327 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp2_, _tmp3_);
#line 328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp4_ = sql;
#line 328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp5_ = type;
#line 328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_convert_expression_to_string (_tmp4_, _tmp5_, begin);
#line 3631 "tracker-sparql-expression.c"
}


static void tracker_sparql_expression_convert_expression_to_string (GString* sql, TrackerPropertyType type, glong begin) {
	TrackerPropertyType _tmp0_ = 0;
#line 331 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = type;
#line 332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	switch (_tmp0_) {
#line 332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_PROPERTY_TYPE_STRING:
#line 332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_PROPERTY_TYPE_INTEGER:
#line 3647 "tracker-sparql-expression.c"
		{
#line 338 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3651 "tracker-sparql-expression.c"
		}
#line 332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_PROPERTY_TYPE_RESOURCE:
#line 3655 "tracker-sparql-expression.c"
		{
			GString* _tmp1_ = NULL;
			glong _tmp2_ = 0L;
			GString* _tmp3_ = NULL;
#line 341 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp1_ = sql;
#line 341 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = begin;
#line 341 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_insert (_tmp1_, (gssize) _tmp2_, "(SELECT Uri FROM Resource WHERE ID = ");
#line 342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp3_ = sql;
#line 342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp3_, ")");
#line 343 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3672 "tracker-sparql-expression.c"
		}
#line 332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_PROPERTY_TYPE_BOOLEAN:
#line 3676 "tracker-sparql-expression.c"
		{
			GString* _tmp4_ = NULL;
			glong _tmp5_ = 0L;
			GString* _tmp6_ = NULL;
#line 346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp4_ = sql;
#line 346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = begin;
#line 346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_insert (_tmp4_, (gssize) _tmp5_, "CASE ");
#line 347 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = sql;
#line 347 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp6_, " WHEN 1 THEN 'true' WHEN 0 THEN 'false' ELSE NULL END");
#line 348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3693 "tracker-sparql-expression.c"
		}
#line 332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_PROPERTY_TYPE_DATE:
#line 3697 "tracker-sparql-expression.c"
		{
			GString* _tmp7_ = NULL;
			glong _tmp8_ = 0L;
			GString* _tmp9_ = NULL;
#line 351 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = sql;
#line 351 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp8_ = begin;
#line 351 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_insert (_tmp7_, (gssize) _tmp8_, "strftime (\"%Y-%m-%d\", ");
#line 352 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp9_ = sql;
#line 352 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp9_, ", \"unixepoch\")");
#line 353 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3714 "tracker-sparql-expression.c"
		}
#line 332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_PROPERTY_TYPE_DATETIME:
#line 3718 "tracker-sparql-expression.c"
		{
			GString* _tmp10_ = NULL;
			glong _tmp11_ = 0L;
			GString* _tmp12_ = NULL;
#line 356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = sql;
#line 356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp11_ = begin;
#line 356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_insert (_tmp10_, (gssize) _tmp11_, "SparqlFormatTime (");
#line 357 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp12_ = sql;
#line 357 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp12_, ")");
#line 358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3735 "tracker-sparql-expression.c"
		}
		default:
		{
			GString* _tmp13_ = NULL;
			glong _tmp14_ = 0L;
			GString* _tmp15_ = NULL;
#line 361 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp13_ = sql;
#line 361 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp14_ = begin;
#line 361 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_insert (_tmp13_, (gssize) _tmp14_, "CAST (");
#line 362 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp15_ = sql;
#line 362 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp15_, " AS TEXT)");
#line 363 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3754 "tracker-sparql-expression.c"
		}
	}
}


static void tracker_sparql_expression_translate_expression_as_string (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerSparqlTokenType _tmp0_ = 0;
	GError * _inner_error_ = NULL;
#line 367 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 367 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_current (self);
#line 368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	switch (_tmp0_) {
#line 368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_IRI_REF:
#line 368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX:
#line 368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_COLON:
#line 3777 "tracker-sparql-expression.c"
		{
			TrackerSparqlLiteralBinding* binding = NULL;
			TrackerSparqlLiteralBinding* _tmp1_ = NULL;
			gboolean is_var = FALSE;
			gchar* _tmp2_ = NULL;
			TrackerSparqlPattern* _tmp3_ = NULL;
			TrackerSparqlPattern* _tmp4_ = NULL;
			gboolean _tmp5_ = FALSE;
			gchar* _tmp6_ = NULL;
			TrackerSparqlLiteralBinding* _tmp7_ = NULL;
			gchar* _tmp8_ = NULL;
			gboolean _tmp9_ = FALSE;
			gboolean _tmp10_ = FALSE;
#line 373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp1_ = tracker_sparql_literal_binding_new ();
#line 373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			binding = _tmp1_;
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp3_ = tracker_sparql_expression_get_pattern (self);
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp4_ = _tmp3_;
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = tracker_sparql_pattern_parse_var_or_term (_tmp4_, NULL, &_tmp5_, &_inner_error_);
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			is_var = _tmp5_;
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = _tmp6_;
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_object_unref0 (binding);
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 3815 "tracker-sparql-expression.c"
				} else {
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_object_unref0 (binding);
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 3825 "tracker-sparql-expression.c"
				}
			}
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = binding;
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp8_ = _tmp2_;
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = NULL;
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp7_->literal);
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_->literal = _tmp8_;
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp9_ = _tmp10_;
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (_tmp2_);
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_object_unref0 (binding);
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 3854 "tracker-sparql-expression.c"
				} else {
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (_tmp2_);
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_object_unref0 (binding);
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 3866 "tracker-sparql-expression.c"
				}
			}
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp9_) {
#line 3871 "tracker-sparql-expression.c"
				glong begin = 0L;
				GString* _tmp11_ = NULL;
				gssize _tmp12_ = 0L;
				TrackerPropertyType type = 0;
				GString* _tmp13_ = NULL;
				TrackerSparqlLiteralBinding* _tmp14_ = NULL;
				const gchar* _tmp15_ = NULL;
				TrackerPropertyType _tmp16_ = 0;
				GString* _tmp17_ = NULL;
				TrackerPropertyType _tmp18_ = 0;
				glong _tmp19_ = 0L;
#line 378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp11_ = sql;
#line 378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp12_ = _tmp11_->len;
#line 378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				begin = (glong) _tmp12_;
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp13_ = sql;
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp14_ = binding;
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp15_ = _tmp14_->literal;
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp16_ = tracker_sparql_expression_translate_function (self, _tmp13_, _tmp15_, &_inner_error_);
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				type = _tmp16_;
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_tmp2_);
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (binding);
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 3911 "tracker-sparql-expression.c"
					} else {
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_tmp2_);
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (binding);
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 3923 "tracker-sparql-expression.c"
					}
				}
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_tmp2_);
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (binding);
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 3940 "tracker-sparql-expression.c"
					} else {
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_tmp2_);
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (binding);
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 3952 "tracker-sparql-expression.c"
					}
				}
#line 381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp17_ = sql;
#line 381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp18_ = type;
#line 381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp19_ = begin;
#line 381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_expression_convert_expression_to_string (_tmp17_, _tmp18_, _tmp19_);
#line 3963 "tracker-sparql-expression.c"
			} else {
				GString* _tmp20_ = NULL;
				TrackerSparqlQuery* _tmp21_ = NULL;
				TrackerSparqlLiteralBinding* _tmp22_ = NULL;
				TrackerSparqlLiteralBinding* _tmp23_ = NULL;
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp20_ = sql;
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp20_, "?");
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp21_ = self->priv->query;
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp22_ = binding;
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp23_ = _g_object_ref0 (_tmp22_);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp21_->bindings = g_list_append (_tmp21_->bindings, _tmp23_);
#line 3981 "tracker-sparql-expression.c"
			}
#line 386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp2_);
#line 386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (binding);
#line 386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3989 "tracker-sparql-expression.c"
		}
		default:
		{
			glong begin = 0L;
			GString* _tmp24_ = NULL;
			gssize _tmp25_ = 0L;
			TrackerPropertyType type = 0;
			GString* _tmp26_ = NULL;
			TrackerPropertyType _tmp27_ = 0;
			GString* _tmp28_ = NULL;
			TrackerPropertyType _tmp29_ = 0;
			glong _tmp30_ = 0L;
#line 388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp24_ = sql;
#line 388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp25_ = _tmp24_->len;
#line 388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			begin = (glong) _tmp25_;
#line 389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp26_ = sql;
#line 389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp27_ = tracker_sparql_expression_translate_expression (self, _tmp26_, &_inner_error_);
#line 389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp27_;
#line 389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 4022 "tracker-sparql-expression.c"
				} else {
#line 389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 4030 "tracker-sparql-expression.c"
				}
			}
#line 390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp28_ = sql;
#line 390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp29_ = type;
#line 390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp30_ = begin;
#line 390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_convert_expression_to_string (_tmp28_, _tmp29_, _tmp30_);
#line 391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 4043 "tracker-sparql-expression.c"
		}
	}
}


static void tracker_sparql_expression_translate_str (TrackerSparqlExpression* self, GString* sql, GError** error) {
	GString* _tmp0_ = NULL;
	GError * _inner_error_ = NULL;
#line 395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_STR, &_inner_error_);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4066 "tracker-sparql-expression.c"
		} else {
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4074 "tracker-sparql-expression.c"
		}
	}
#line 397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4087 "tracker-sparql-expression.c"
		} else {
#line 397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4095 "tracker-sparql-expression.c"
		}
	}
#line 399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_translate_expression_as_string (self, _tmp0_, &_inner_error_);
#line 399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4110 "tracker-sparql-expression.c"
		} else {
#line 399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4118 "tracker-sparql-expression.c"
		}
	}
#line 401 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 401 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 401 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 401 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 401 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4131 "tracker-sparql-expression.c"
		} else {
#line 401 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 401 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 401 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4139 "tracker-sparql-expression.c"
		}
	}
}


static void tracker_sparql_expression_translate_isuri (TrackerSparqlExpression* self, GString* sql, GError** error) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GString* _tmp2_ = NULL;
	TrackerSparqlLiteralBinding* new_binding = NULL;
	TrackerSparqlLiteralBinding* _tmp3_ = NULL;
	TrackerSparqlLiteralBinding* _tmp4_ = NULL;
	TrackerSparqlTokenType _tmp5_ = 0;
	TrackerSparqlQuery* _tmp17_ = NULL;
	TrackerSparqlLiteralBinding* _tmp18_ = NULL;
	TrackerSparqlLiteralBinding* _tmp19_ = NULL;
	GError * _inner_error_ = NULL;
#line 404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_ISURI, &_inner_error_);
#line 405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = _tmp1_;
#line 405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4173 "tracker-sparql-expression.c"
		} else {
#line 405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4181 "tracker-sparql-expression.c"
		}
	}
#line 405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (!_tmp0_) {
#line 406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_ISIRI, &_inner_error_);
#line 406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4196 "tracker-sparql-expression.c"
			} else {
#line 406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4204 "tracker-sparql-expression.c"
			}
		}
	}
#line 409 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 409 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 409 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 409 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 409 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4218 "tracker-sparql-expression.c"
		} else {
#line 409 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 409 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 409 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4226 "tracker-sparql-expression.c"
		}
	}
#line 411 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = sql;
#line 411 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp2_, "?");
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = tracker_sparql_literal_binding_new ();
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	new_binding = _tmp3_;
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp4_ = new_binding;
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	((TrackerSparqlDataBinding*) _tmp4_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
#line 415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp5_ = tracker_sparql_expression_current (self);
#line 415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp5_ == TRACKER_SPARQL_TOKEN_TYPE_IRI_REF) {
#line 4245 "tracker-sparql-expression.c"
		TrackerSparqlLiteralBinding* _tmp6_ = NULL;
		gchar* _tmp7_ = NULL;
#line 416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = new_binding;
#line 416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = g_strdup ("1");
#line 416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp6_->literal);
#line 416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_->literal = _tmp7_;
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_next (self, &_inner_error_);
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (new_binding);
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4268 "tracker-sparql-expression.c"
			} else {
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (new_binding);
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4278 "tracker-sparql-expression.c"
			}
		}
	} else {
		TrackerPropertyType _tmp8_ = 0;
		GString* _tmp9_ = NULL;
		GString* _tmp10_ = NULL;
		TrackerPropertyType _tmp11_ = 0;
		TrackerPropertyType _tmp12_ = 0;
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = g_string_new ("");
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_ = _tmp9_;
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = tracker_sparql_expression_translate_expression (self, _tmp10_, &_inner_error_);
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp12_ = _tmp11_;
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_string_free0 (_tmp10_);
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = _tmp12_;
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (new_binding);
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4309 "tracker-sparql-expression.c"
			} else {
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (new_binding);
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4319 "tracker-sparql-expression.c"
			}
		}
#line 418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp8_ == TRACKER_PROPERTY_TYPE_RESOURCE) {
#line 4324 "tracker-sparql-expression.c"
			TrackerSparqlLiteralBinding* _tmp13_ = NULL;
			gchar* _tmp14_ = NULL;
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp13_ = new_binding;
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp14_ = g_strdup ("1");
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp13_->literal);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp13_->literal = _tmp14_;
#line 4335 "tracker-sparql-expression.c"
		} else {
			TrackerSparqlLiteralBinding* _tmp15_ = NULL;
			gchar* _tmp16_ = NULL;
#line 421 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp15_ = new_binding;
#line 421 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp16_ = g_strdup ("0");
#line 421 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp15_->literal);
#line 421 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp15_->literal = _tmp16_;
#line 4347 "tracker-sparql-expression.c"
		}
	}
#line 424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp17_ = self->priv->query;
#line 424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp18_ = new_binding;
#line 424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp19_ = _g_object_ref0 (_tmp18_);
#line 424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp17_->bindings = g_list_append (_tmp17_->bindings, _tmp19_);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (new_binding);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4370 "tracker-sparql-expression.c"
		} else {
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (new_binding);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4380 "tracker-sparql-expression.c"
		}
	}
#line 404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_object_unref0 (new_binding);
#line 4385 "tracker-sparql-expression.c"
}


static void tracker_sparql_expression_translate_datatype (TrackerSparqlExpression* self, GString* sql, GError** error) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GError * _inner_error_ = NULL;
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_DATATYPE, &_inner_error_);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4407 "tracker-sparql-expression.c"
		} else {
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4415 "tracker-sparql-expression.c"
		}
	}
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4428 "tracker-sparql-expression.c"
		} else {
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4436 "tracker-sparql-expression.c"
		}
	}
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = _tmp1_;
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4451 "tracker-sparql-expression.c"
		} else {
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4459 "tracker-sparql-expression.c"
		}
	}
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 4464 "tracker-sparql-expression.c"
		gchar* variable_name = NULL;
		gchar* _tmp2_ = NULL;
		gchar* _tmp3_ = NULL;
		gchar* _tmp4_ = NULL;
		gchar* _tmp5_ = NULL;
		TrackerSparqlVariable* variable = NULL;
		TrackerSparqlContext* _tmp6_ = NULL;
		TrackerSparqlContext* _tmp7_ = NULL;
		const gchar* _tmp8_ = NULL;
		TrackerSparqlVariable* _tmp9_ = NULL;
		TrackerSparqlVariable* _tmp10_ = NULL;
		TrackerSparqlVariable* _tmp11_ = NULL;
		TrackerSparqlVariableBinding* _tmp12_ = NULL;
		gboolean _tmp20_ = FALSE;
		TrackerSparqlVariable* _tmp21_ = NULL;
		TrackerSparqlVariableBinding* _tmp22_ = NULL;
		TrackerPropertyType _tmp23_ = 0;
		GString* _tmp28_ = NULL;
		TrackerSparqlLiteralBinding* new_binding = NULL;
		TrackerSparqlLiteralBinding* _tmp29_ = NULL;
		TrackerSparqlLiteralBinding* _tmp30_ = NULL;
		TrackerSparqlVariable* _tmp31_ = NULL;
		TrackerSparqlVariableBinding* _tmp32_ = NULL;
		TrackerClass* _tmp33_ = NULL;
		const gchar* _tmp34_ = NULL;
		const gchar* _tmp35_ = NULL;
		gchar* _tmp36_ = NULL;
		TrackerSparqlQuery* _tmp37_ = NULL;
		TrackerSparqlLiteralBinding* _tmp38_ = NULL;
		TrackerSparqlLiteralBinding* _tmp39_ = NULL;
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = tracker_sparql_expression_get_last_string (self, 0);
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = _tmp2_;
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = string_substring (_tmp3_, (glong) 1, (glong) -1);
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = _tmp4_;
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp3_);
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable_name = _tmp5_;
#line 435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = tracker_sparql_expression_get_context (self);
#line 435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = _tmp6_;
#line 435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = variable_name;
#line 435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = tracker_sparql_context_get_variable (_tmp7_, _tmp8_);
#line 435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_ = _g_object_ref0 (_tmp9_);
#line 435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable = _tmp10_;
#line 437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = variable;
#line 437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp12_ = _tmp11_->binding;
#line 437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp12_ == NULL) {
#line 4525 "tracker-sparql-expression.c"
			TrackerSparqlVariable* _tmp13_ = NULL;
			const gchar* _tmp14_ = NULL;
			const gchar* _tmp15_ = NULL;
			gchar* _tmp16_ = NULL;
			gchar* _tmp17_ = NULL;
			GError* _tmp18_ = NULL;
			GError* _tmp19_ = NULL;
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp13_ = variable;
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp14_ = tracker_sparql_variable_get_name (_tmp13_);
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp15_ = _tmp14_;
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp16_ = g_strdup_printf ("`%s' is not a valid variable", _tmp15_);
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp17_ = _tmp16_;
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp18_ = tracker_sparql_expression_get_error (self, _tmp17_);
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp19_ = _tmp18_;
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp17_);
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp19_;
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (variable_name);
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4561 "tracker-sparql-expression.c"
			} else {
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (variable_name);
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4573 "tracker-sparql-expression.c"
			}
		}
#line 441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp21_ = variable;
#line 441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp22_ = _tmp21_->binding;
#line 441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp23_ = ((TrackerSparqlDataBinding*) _tmp22_)->data_type;
#line 441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp23_ == TRACKER_PROPERTY_TYPE_RESOURCE) {
#line 441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp20_ = TRUE;
#line 4586 "tracker-sparql-expression.c"
		} else {
			TrackerSparqlVariable* _tmp24_ = NULL;
			TrackerSparqlVariableBinding* _tmp25_ = NULL;
			TrackerClass* _tmp26_ = NULL;
#line 441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp24_ = variable;
#line 441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp25_ = _tmp24_->binding;
#line 441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp26_ = _tmp25_->type;
#line 441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp20_ = _tmp26_ == NULL;
#line 4599 "tracker-sparql-expression.c"
		}
#line 441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp20_) {
#line 4603 "tracker-sparql-expression.c"
			GError* _tmp27_ = NULL;
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp27_ = tracker_sparql_expression_get_error (self, "Invalid FILTER");
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp27_;
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (variable_name);
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4619 "tracker-sparql-expression.c"
			} else {
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (variable_name);
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4631 "tracker-sparql-expression.c"
			}
		}
#line 445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp28_ = sql;
#line 445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp28_, "(SELECT ID FROM Resource WHERE Uri = ?)");
#line 447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp29_ = tracker_sparql_literal_binding_new ();
#line 447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		new_binding = _tmp29_;
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp30_ = new_binding;
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp31_ = variable;
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp32_ = _tmp31_->binding;
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp33_ = _tmp32_->type;
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp34_ = tracker_class_get_uri (_tmp33_);
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp35_ = _tmp34_;
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp36_ = g_strdup (_tmp35_);
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp30_->literal);
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp30_->literal = _tmp36_;
#line 449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp37_ = self->priv->query;
#line 449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp38_ = new_binding;
#line 449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp39_ = _g_object_ref0 (_tmp38_);
#line 449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp37_->bindings = g_list_append (_tmp37_->bindings, _tmp39_);
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_object_unref0 (new_binding);
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_object_unref0 (variable);
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (variable_name);
#line 4674 "tracker-sparql-expression.c"
	} else {
		GError* _tmp40_ = NULL;
#line 452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp40_ = tracker_sparql_expression_get_error (self, "Invalid FILTER");
#line 452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_inner_error_ = _tmp40_;
#line 452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4687 "tracker-sparql-expression.c"
		} else {
#line 452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4695 "tracker-sparql-expression.c"
		}
	}
#line 455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4708 "tracker-sparql-expression.c"
		} else {
#line 455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4716 "tracker-sparql-expression.c"
		}
	}
}


static void tracker_sparql_expression_translate_date (TrackerSparqlExpression* self, GString* sql, const gchar* format, GError** error) {
	GString* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_ = FALSE;
	GString* _tmp19_ = NULL;
	GError * _inner_error_ = NULL;
#line 458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (format != NULL);
#line 459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = format;
#line 459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append_printf (_tmp0_, "strftime (\"%s\", ", _tmp1_);
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = _tmp3_;
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4753 "tracker-sparql-expression.c"
		} else {
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4761 "tracker-sparql-expression.c"
		}
	}
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp2_) {
#line 4766 "tracker-sparql-expression.c"
		gchar* variable_name = NULL;
		gchar* _tmp4_ = NULL;
		gchar* _tmp5_ = NULL;
		gchar* _tmp6_ = NULL;
		gchar* _tmp7_ = NULL;
		TrackerSparqlVariable* variable = NULL;
		TrackerSparqlContext* _tmp8_ = NULL;
		TrackerSparqlContext* _tmp9_ = NULL;
		const gchar* _tmp10_ = NULL;
		TrackerSparqlVariable* _tmp11_ = NULL;
		TrackerSparqlVariable* _tmp12_ = NULL;
		GString* _tmp13_ = NULL;
		TrackerSparqlVariable* _tmp14_ = NULL;
		gchar* _tmp15_ = NULL;
		gchar* _tmp16_ = NULL;
		GString* _tmp17_ = NULL;
#line 462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = tracker_sparql_expression_get_last_string (self, 0);
#line 462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = _tmp4_;
#line 462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = string_substring (_tmp5_, (glong) 1, (glong) -1);
#line 462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = _tmp6_;
#line 462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp5_);
#line 462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable_name = _tmp7_;
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = tracker_sparql_expression_get_context (self);
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = _tmp8_;
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_ = variable_name;
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = tracker_sparql_context_get_variable (_tmp9_, _tmp10_);
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp12_ = _g_object_ref0 (_tmp11_);
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable = _tmp12_;
#line 464 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp13_ = sql;
#line 464 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp14_ = variable;
#line 464 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp15_ = tracker_sparql_variable_get_extra_sql_expression (_tmp14_, "localDate");
#line 464 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp16_ = _tmp15_;
#line 464 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp13_, _tmp16_);
#line 464 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp16_);
#line 465 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp17_ = sql;
#line 465 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp17_, " * 24 * 3600");
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_object_unref0 (variable);
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (variable_name);
#line 4827 "tracker-sparql-expression.c"
	} else {
		GString* _tmp18_ = NULL;
#line 467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp18_ = sql;
#line 467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_translate_primary_expression (self, _tmp18_, &_inner_error_);
#line 467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4842 "tracker-sparql-expression.c"
			} else {
#line 467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4850 "tracker-sparql-expression.c"
			}
		}
	}
#line 470 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp19_ = sql;
#line 470 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp19_, ", \"unixepoch\")");
#line 4858 "tracker-sparql-expression.c"
}


static void tracker_sparql_expression_translate_time (TrackerSparqlExpression* self, GString* sql, TrackerSparqlExpressionTimeFormatType type, GError** error) {
	GString* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	TrackerSparqlExpressionTimeFormatType _tmp17_ = 0;
	GString* _tmp21_ = NULL;
	GError * _inner_error_ = NULL;
#line 473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp0_, "(");
#line 475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
#line 475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _tmp2_;
#line 475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4889 "tracker-sparql-expression.c"
		} else {
#line 475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4897 "tracker-sparql-expression.c"
		}
	}
#line 475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp1_) {
#line 4902 "tracker-sparql-expression.c"
		gchar* variable_name = NULL;
		gchar* _tmp3_ = NULL;
		gchar* _tmp4_ = NULL;
		gchar* _tmp5_ = NULL;
		gchar* _tmp6_ = NULL;
		TrackerSparqlVariable* variable = NULL;
		TrackerSparqlContext* _tmp7_ = NULL;
		TrackerSparqlContext* _tmp8_ = NULL;
		const gchar* _tmp9_ = NULL;
		TrackerSparqlVariable* _tmp10_ = NULL;
		TrackerSparqlVariable* _tmp11_ = NULL;
		GString* _tmp12_ = NULL;
		TrackerSparqlVariable* _tmp13_ = NULL;
		gchar* _tmp14_ = NULL;
		gchar* _tmp15_ = NULL;
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = tracker_sparql_expression_get_last_string (self, 0);
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = _tmp3_;
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = string_substring (_tmp4_, (glong) 1, (glong) -1);
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = _tmp5_;
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp4_);
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable_name = _tmp6_;
#line 477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = tracker_sparql_expression_get_context (self);
#line 477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = _tmp7_;
#line 477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = variable_name;
#line 477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_ = tracker_sparql_context_get_variable (_tmp8_, _tmp9_);
#line 477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = _g_object_ref0 (_tmp10_);
#line 477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable = _tmp11_;
#line 478 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp12_ = sql;
#line 478 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp13_ = variable;
#line 478 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp14_ = tracker_sparql_variable_get_extra_sql_expression (_tmp13_, "localTime");
#line 478 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp15_ = _tmp14_;
#line 478 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp12_, _tmp15_);
#line 478 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp15_);
#line 475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_object_unref0 (variable);
#line 475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (variable_name);
#line 4958 "tracker-sparql-expression.c"
	} else {
		GString* _tmp16_ = NULL;
#line 480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp16_ = sql;
#line 480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_translate_primary_expression (self, _tmp16_, &_inner_error_);
#line 480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4973 "tracker-sparql-expression.c"
			} else {
#line 480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4981 "tracker-sparql-expression.c"
			}
		}
	}
#line 483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp17_ = type;
#line 483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	switch (_tmp17_) {
#line 483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_SECONDS:
#line 4991 "tracker-sparql-expression.c"
		{
			GString* _tmp18_ = NULL;
#line 485 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp18_ = sql;
#line 485 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp18_, "% 60");
#line 486 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 5000 "tracker-sparql-expression.c"
		}
#line 483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_MINUTES:
#line 5004 "tracker-sparql-expression.c"
		{
			GString* _tmp19_ = NULL;
#line 488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp19_ = sql;
#line 488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp19_, " / 60 % 60");
#line 489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 5013 "tracker-sparql-expression.c"
		}
#line 483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_HOURS:
#line 5017 "tracker-sparql-expression.c"
		{
			GString* _tmp20_ = NULL;
#line 491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp20_ = sql;
#line 491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp20_, " / 3600 % 24");
#line 492 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 5026 "tracker-sparql-expression.c"
		}
		default:
#line 483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		break;
#line 5031 "tracker-sparql-expression.c"
	}
#line 494 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp21_ = sql;
#line 494 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp21_, ")");
#line 5037 "tracker-sparql-expression.c"
}


static gchar* g_unichar_to_string (gunichar self) {
	gchar* result = NULL;
	gchar* str = NULL;
	gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
#line 857 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp0_ = g_new0 (gchar, 7);
#line 857 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	str = (gchar*) _tmp0_;
#line 858 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	_tmp1_ = str;
#line 858 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	g_unichar_to_utf8 (self, _tmp1_);
#line 859 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	result = str;
#line 859 "/usr/share/vala-0.30/vapi/glib-2.0.vapi"
	return result;
#line 5058 "tracker-sparql-expression.c"
}


static TrackerPropertyType tracker_sparql_expression_translate_function (TrackerSparqlExpression* self, GString* sql, const gchar* uri, GError** error) {
	TrackerPropertyType result = 0;
	const gchar* _tmp0_ = NULL;
	GError * _inner_error_ = NULL;
#line 497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (uri != NULL, 0);
#line 498 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = uri;
#line 498 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (g_strcmp0 (_tmp0_, TRACKER_SPARQL_EXPRESSION_XSD_NS "string") == 0) {
#line 5076 "tracker-sparql-expression.c"
		GString* _tmp1_ = NULL;
#line 500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = sql;
#line 500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_translate_expression_as_string (self, _tmp1_, &_inner_error_);
#line 500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 5090 "tracker-sparql-expression.c"
			} else {
#line 500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 5098 "tracker-sparql-expression.c"
			}
		}
#line 502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		result = TRACKER_PROPERTY_TYPE_STRING;
#line 502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		return result;
#line 5105 "tracker-sparql-expression.c"
	} else {
		const gchar* _tmp2_ = NULL;
#line 503 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = uri;
#line 503 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (g_strcmp0 (_tmp2_, TRACKER_SPARQL_EXPRESSION_XSD_NS "integer") == 0) {
#line 5112 "tracker-sparql-expression.c"
			GString* _tmp3_ = NULL;
			GString* _tmp4_ = NULL;
			GString* _tmp5_ = NULL;
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp3_ = sql;
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp3_, "CAST (");
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp4_ = sql;
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_string (self, _tmp4_, &_inner_error_);
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 5132 "tracker-sparql-expression.c"
				} else {
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 5140 "tracker-sparql-expression.c"
				}
			}
#line 507 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = sql;
#line 507 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp5_, " AS INTEGER)");
#line 509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 5151 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp6_ = NULL;
#line 510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = uri;
#line 510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (g_strcmp0 (_tmp6_, TRACKER_SPARQL_EXPRESSION_XSD_NS "double") == 0) {
#line 5158 "tracker-sparql-expression.c"
				GString* _tmp7_ = NULL;
				GString* _tmp8_ = NULL;
				GString* _tmp9_ = NULL;
#line 512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp7_ = sql;
#line 512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp7_, "CAST (");
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp8_ = sql;
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_expression_translate_expression_as_string (self, _tmp8_, &_inner_error_);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 5178 "tracker-sparql-expression.c"
					} else {
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 5186 "tracker-sparql-expression.c"
					}
				}
#line 514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp9_ = sql;
#line 514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp9_, " AS REAL)");
#line 516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				result = TRACKER_PROPERTY_TYPE_DOUBLE;
#line 516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return result;
#line 5197 "tracker-sparql-expression.c"
			} else {
				const gchar* _tmp10_ = NULL;
#line 517 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp10_ = uri;
#line 517 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (g_strcmp0 (_tmp10_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "case-fold") == 0) {
#line 5204 "tracker-sparql-expression.c"
					GString* _tmp11_ = NULL;
					GString* _tmp12_ = NULL;
					GString* _tmp13_ = NULL;
#line 519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp11_ = sql;
#line 519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_string_append (_tmp11_, "SparqlCaseFold (");
#line 520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp12_ = sql;
#line 520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					tracker_sparql_expression_translate_expression_as_string (self, _tmp12_, &_inner_error_);
#line 520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_propagate_error (error, _inner_error_);
#line 520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							return 0;
#line 5224 "tracker-sparql-expression.c"
						} else {
#line 520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_clear_error (&_inner_error_);
#line 520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							return 0;
#line 5232 "tracker-sparql-expression.c"
						}
					}
#line 521 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp13_ = sql;
#line 521 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_string_append (_tmp13_, ")");
#line 522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					result = TRACKER_PROPERTY_TYPE_STRING;
#line 522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return result;
#line 5243 "tracker-sparql-expression.c"
				} else {
					const gchar* _tmp14_ = NULL;
#line 523 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp14_ = uri;
#line 523 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (g_strcmp0 (_tmp14_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "ascii-lower-case") == 0) {
#line 5250 "tracker-sparql-expression.c"
						GString* _tmp15_ = NULL;
						GString* _tmp16_ = NULL;
						GString* _tmp17_ = NULL;
#line 525 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp15_ = sql;
#line 525 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_string_append (_tmp15_, "lower (");
#line 526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp16_ = sql;
#line 526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						tracker_sparql_expression_translate_expression_as_string (self, _tmp16_, &_inner_error_);
#line 526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_propagate_error (error, _inner_error_);
#line 526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return 0;
#line 5270 "tracker-sparql-expression.c"
							} else {
#line 526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_clear_error (&_inner_error_);
#line 526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return 0;
#line 5278 "tracker-sparql-expression.c"
							}
						}
#line 527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp17_ = sql;
#line 527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_string_append (_tmp17_, ")");
#line 528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						result = TRACKER_PROPERTY_TYPE_STRING;
#line 528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return result;
#line 5289 "tracker-sparql-expression.c"
					} else {
						const gchar* _tmp18_ = NULL;
#line 529 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp18_ = uri;
#line 529 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						if (g_strcmp0 (_tmp18_, TRACKER_SPARQL_EXPRESSION_FN_NS "lower-case") == 0) {
#line 5296 "tracker-sparql-expression.c"
							GString* _tmp19_ = NULL;
							GString* _tmp20_ = NULL;
							GString* _tmp21_ = NULL;
#line 531 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp19_ = sql;
#line 531 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append (_tmp19_, "SparqlLowerCase (");
#line 532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp20_ = sql;
#line 532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							tracker_sparql_expression_translate_expression_as_string (self, _tmp20_, &_inner_error_);
#line 532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_propagate_error (error, _inner_error_);
#line 532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									return 0;
#line 5316 "tracker-sparql-expression.c"
								} else {
#line 532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_clear_error (&_inner_error_);
#line 532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									return 0;
#line 5324 "tracker-sparql-expression.c"
								}
							}
#line 533 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp21_ = sql;
#line 533 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append (_tmp21_, ")");
#line 534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							result = TRACKER_PROPERTY_TYPE_STRING;
#line 534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							return result;
#line 5335 "tracker-sparql-expression.c"
						} else {
							const gchar* _tmp22_ = NULL;
#line 535 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp22_ = uri;
#line 535 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (g_strcmp0 (_tmp22_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "normalize") == 0) {
#line 5342 "tracker-sparql-expression.c"
								GString* _tmp23_ = NULL;
								GString* _tmp24_ = NULL;
								GString* _tmp25_ = NULL;
								GString* _tmp26_ = NULL;
								GString* _tmp27_ = NULL;
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								_tmp23_ = sql;
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_string_append (_tmp23_, "SparqlNormalize (");
#line 538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								_tmp24_ = sql;
#line 538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								tracker_sparql_expression_translate_expression_as_string (self, _tmp24_, &_inner_error_);
#line 538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_propagate_error (error, _inner_error_);
#line 538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										return 0;
#line 5364 "tracker-sparql-expression.c"
									} else {
#line 538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_clear_error (&_inner_error_);
#line 538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										return 0;
#line 5372 "tracker-sparql-expression.c"
									}
								}
#line 539 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								_tmp25_ = sql;
#line 539 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_string_append (_tmp25_, ", ");
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_propagate_error (error, _inner_error_);
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										return 0;
#line 5389 "tracker-sparql-expression.c"
									} else {
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_clear_error (&_inner_error_);
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										return 0;
#line 5397 "tracker-sparql-expression.c"
									}
								}
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								_tmp26_ = sql;
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								tracker_sparql_expression_translate_expression_as_string (self, _tmp26_, &_inner_error_);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_propagate_error (error, _inner_error_);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										return 0;
#line 5412 "tracker-sparql-expression.c"
									} else {
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_clear_error (&_inner_error_);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										return 0;
#line 5420 "tracker-sparql-expression.c"
									}
								}
#line 542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								_tmp27_ = sql;
#line 542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_string_append (_tmp27_, ")");
#line 543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								result = TRACKER_PROPERTY_TYPE_STRING;
#line 543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return result;
#line 5431 "tracker-sparql-expression.c"
							} else {
								const gchar* _tmp28_ = NULL;
#line 544 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								_tmp28_ = uri;
#line 544 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (g_strcmp0 (_tmp28_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "unaccent") == 0) {
#line 5438 "tracker-sparql-expression.c"
									GString* _tmp29_ = NULL;
									GString* _tmp30_ = NULL;
									GString* _tmp31_ = NULL;
#line 546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									_tmp29_ = sql;
#line 546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_string_append (_tmp29_, "SparqlUnaccent (");
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									_tmp30_ = sql;
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									tracker_sparql_expression_translate_expression_as_string (self, _tmp30_, &_inner_error_);
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_propagate_error (error, _inner_error_);
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											return 0;
#line 5458 "tracker-sparql-expression.c"
										} else {
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_clear_error (&_inner_error_);
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											return 0;
#line 5466 "tracker-sparql-expression.c"
										}
									}
#line 548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									_tmp31_ = sql;
#line 548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_string_append (_tmp31_, ")");
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									result = TRACKER_PROPERTY_TYPE_STRING;
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									return result;
#line 5477 "tracker-sparql-expression.c"
								} else {
									const gchar* _tmp32_ = NULL;
#line 550 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									_tmp32_ = uri;
#line 550 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									if (g_strcmp0 (_tmp32_, TRACKER_SPARQL_EXPRESSION_FN_NS "contains") == 0) {
#line 5484 "tracker-sparql-expression.c"
										GString* _tmp33_ = NULL;
										GString* _tmp34_ = NULL;
										GString* _tmp35_ = NULL;
										GString* _tmp36_ = NULL;
										TrackerSparqlLiteralBinding* binding = NULL;
										TrackerSparqlLiteralBinding* _tmp37_ = NULL;
										gchar* _tmp38_ = NULL;
										gchar* _tmp39_ = NULL;
										TrackerSparqlLiteralBinding* _tmp40_ = NULL;
										gchar* _tmp41_ = NULL;
										TrackerSparqlQuery* _tmp42_ = NULL;
										TrackerSparqlLiteralBinding* _tmp43_ = NULL;
										TrackerSparqlLiteralBinding* _tmp44_ = NULL;
										GString* _tmp45_ = NULL;
#line 552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp33_ = sql;
#line 552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_string_append (_tmp33_, "(");
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp34_ = sql;
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										tracker_sparql_expression_translate_expression_as_string (self, _tmp34_, &_inner_error_);
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_propagate_error (error, _inner_error_);
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												return 0;
#line 5515 "tracker-sparql-expression.c"
											} else {
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_clear_error (&_inner_error_);
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												return 0;
#line 5523 "tracker-sparql-expression.c"
											}
										}
#line 554 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp35_ = sql;
#line 554 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_string_append (_tmp35_, " GLOB ");
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_propagate_error (error, _inner_error_);
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												return 0;
#line 5540 "tracker-sparql-expression.c"
											} else {
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_clear_error (&_inner_error_);
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												return 0;
#line 5548 "tracker-sparql-expression.c"
											}
										}
#line 557 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp36_ = sql;
#line 557 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_string_append (_tmp36_, "?");
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp37_ = tracker_sparql_literal_binding_new ();
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										binding = _tmp37_;
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp39_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp38_ = _tmp39_;
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_propagate_error (error, _inner_error_);
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_g_object_unref0 (binding);
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												return 0;
#line 5573 "tracker-sparql-expression.c"
											} else {
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_g_object_unref0 (binding);
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_clear_error (&_inner_error_);
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												return 0;
#line 5583 "tracker-sparql-expression.c"
											}
										}
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp40_ = binding;
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp41_ = g_strdup_printf ("*%s*", _tmp38_);
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_g_free0 (_tmp40_->literal);
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp40_->literal = _tmp41_;
#line 560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp42_ = self->priv->query;
#line 560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp43_ = binding;
#line 560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp44_ = _g_object_ref0 (_tmp43_);
#line 560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp42_->bindings = g_list_append (_tmp42_->bindings, _tmp44_);
#line 562 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp45_ = sql;
#line 562 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_string_append (_tmp45_, ")");
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_g_free0 (_tmp38_);
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_g_object_unref0 (binding);
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										return result;
#line 5614 "tracker-sparql-expression.c"
									} else {
										const gchar* _tmp46_ = NULL;
#line 565 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										_tmp46_ = uri;
#line 565 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										if (g_strcmp0 (_tmp46_, TRACKER_SPARQL_EXPRESSION_FN_NS "starts-with") == 0) {
#line 5621 "tracker-sparql-expression.c"
											GString* _tmp47_ = NULL;
											GString* _tmp48_ = NULL;
											gchar* prefix = NULL;
											gchar* _tmp49_ = NULL;
											GString* _tmp50_ = NULL;
											TrackerSparqlLiteralBinding* binding = NULL;
											TrackerSparqlLiteralBinding* _tmp51_ = NULL;
											TrackerSparqlLiteralBinding* _tmp52_ = NULL;
											const gchar* _tmp53_ = NULL;
											gchar* _tmp54_ = NULL;
											TrackerSparqlQuery* _tmp55_ = NULL;
											TrackerSparqlLiteralBinding* _tmp56_ = NULL;
											TrackerSparqlLiteralBinding* _tmp57_ = NULL;
											GString* _tmp58_ = NULL;
											GString* _tmp59_ = NULL;
											TrackerSparqlLiteralBinding* _tmp60_ = NULL;
											TrackerSparqlLiteralBinding* _tmp61_ = NULL;
											const gchar* _tmp62_ = NULL;
											gchar* _tmp63_ = NULL;
											gchar* _tmp64_ = NULL;
											gchar* _tmp65_ = NULL;
											TrackerSparqlQuery* _tmp66_ = NULL;
											TrackerSparqlLiteralBinding* _tmp67_ = NULL;
											TrackerSparqlLiteralBinding* _tmp68_ = NULL;
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp47_ = sql;
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											tracker_sparql_expression_translate_expression_as_string (self, _tmp47_, &_inner_error_);
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_propagate_error (error, _inner_error_);
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													return 0;
#line 5658 "tracker-sparql-expression.c"
												} else {
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_clear_error (&_inner_error_);
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													return 0;
#line 5666 "tracker-sparql-expression.c"
												}
											}
#line 570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp48_ = sql;
#line 570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_string_append (_tmp48_, " BETWEEN ");
#line 572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_propagate_error (error, _inner_error_);
#line 572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													return 0;
#line 5683 "tracker-sparql-expression.c"
												} else {
#line 572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_clear_error (&_inner_error_);
#line 572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													return 0;
#line 5691 "tracker-sparql-expression.c"
												}
											}
#line 573 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp49_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 573 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											prefix = _tmp49_;
#line 573 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 573 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 573 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_propagate_error (error, _inner_error_);
#line 573 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													return 0;
#line 5706 "tracker-sparql-expression.c"
												} else {
#line 573 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 573 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_clear_error (&_inner_error_);
#line 573 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													return 0;
#line 5714 "tracker-sparql-expression.c"
												}
											}
#line 575 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp50_ = sql;
#line 575 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_string_append (_tmp50_, "?");
#line 576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp51_ = tracker_sparql_literal_binding_new ();
#line 576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											binding = _tmp51_;
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp52_ = binding;
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp53_ = prefix;
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp54_ = g_strdup (_tmp53_);
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_g_free0 (_tmp52_->literal);
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp52_->literal = _tmp54_;
#line 578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp55_ = self->priv->query;
#line 578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp56_ = binding;
#line 578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp57_ = _g_object_ref0 (_tmp56_);
#line 578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp55_->bindings = g_list_append (_tmp55_->bindings, _tmp57_);
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp58_ = sql;
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_string_append (_tmp58_, " AND ");
#line 582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp59_ = sql;
#line 582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_string_append (_tmp59_, "?");
#line 583 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp60_ = tracker_sparql_literal_binding_new ();
#line 583 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_g_object_unref0 (binding);
#line 583 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											binding = _tmp60_;
#line 584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp61_ = binding;
#line 584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp62_ = prefix;
#line 584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp63_ = g_unichar_to_string (TRACKER_COLLATION_LAST_CHAR);
#line 584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp64_ = _tmp63_;
#line 584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp65_ = g_strconcat (_tmp62_, _tmp64_, NULL);
#line 584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_g_free0 (_tmp61_->literal);
#line 584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp61_->literal = _tmp65_;
#line 584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_g_free0 (_tmp64_);
#line 585 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp66_ = self->priv->query;
#line 585 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp67_ = binding;
#line 585 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp68_ = _g_object_ref0 (_tmp67_);
#line 585 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp66_->bindings = g_list_append (_tmp66_->bindings, _tmp68_);
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_g_object_unref0 (binding);
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_g_free0 (prefix);
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											return result;
#line 5789 "tracker-sparql-expression.c"
										} else {
											const gchar* _tmp69_ = NULL;
#line 588 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											_tmp69_ = uri;
#line 588 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											if (g_strcmp0 (_tmp69_, TRACKER_SPARQL_EXPRESSION_FN_NS "ends-with") == 0) {
#line 5796 "tracker-sparql-expression.c"
												GString* _tmp70_ = NULL;
												GString* _tmp71_ = NULL;
												GString* _tmp72_ = NULL;
												GString* _tmp73_ = NULL;
												TrackerSparqlLiteralBinding* binding = NULL;
												TrackerSparqlLiteralBinding* _tmp74_ = NULL;
												gchar* _tmp75_ = NULL;
												gchar* _tmp76_ = NULL;
												TrackerSparqlLiteralBinding* _tmp77_ = NULL;
												gchar* _tmp78_ = NULL;
												TrackerSparqlQuery* _tmp79_ = NULL;
												TrackerSparqlLiteralBinding* _tmp80_ = NULL;
												TrackerSparqlLiteralBinding* _tmp81_ = NULL;
												GString* _tmp82_ = NULL;
#line 590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp70_ = sql;
#line 590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_string_append (_tmp70_, "(");
#line 591 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp71_ = sql;
#line 591 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												tracker_sparql_expression_translate_expression_as_string (self, _tmp71_, &_inner_error_);
#line 591 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 591 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 591 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_propagate_error (error, _inner_error_);
#line 591 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														return 0;
#line 5827 "tracker-sparql-expression.c"
													} else {
#line 591 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 591 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_clear_error (&_inner_error_);
#line 591 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														return 0;
#line 5835 "tracker-sparql-expression.c"
													}
												}
#line 592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp72_ = sql;
#line 592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_string_append (_tmp72_, " GLOB ");
#line 593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_propagate_error (error, _inner_error_);
#line 593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														return 0;
#line 5852 "tracker-sparql-expression.c"
													} else {
#line 593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_clear_error (&_inner_error_);
#line 593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														return 0;
#line 5860 "tracker-sparql-expression.c"
													}
												}
#line 595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp73_ = sql;
#line 595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_string_append (_tmp73_, "?");
#line 596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp74_ = tracker_sparql_literal_binding_new ();
#line 596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												binding = _tmp74_;
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp76_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp75_ = _tmp76_;
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_propagate_error (error, _inner_error_);
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_g_object_unref0 (binding);
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														return 0;
#line 5885 "tracker-sparql-expression.c"
													} else {
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_g_object_unref0 (binding);
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_clear_error (&_inner_error_);
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														return 0;
#line 5895 "tracker-sparql-expression.c"
													}
												}
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp77_ = binding;
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp78_ = g_strdup_printf ("*%s", _tmp75_);
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_g_free0 (_tmp77_->literal);
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp77_->literal = _tmp78_;
#line 598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp79_ = self->priv->query;
#line 598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp80_ = binding;
#line 598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp81_ = _g_object_ref0 (_tmp80_);
#line 598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp79_->bindings = g_list_append (_tmp79_->bindings, _tmp81_);
#line 600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp82_ = sql;
#line 600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_string_append (_tmp82_, ")");
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_g_free0 (_tmp75_);
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_g_object_unref0 (binding);
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												return result;
#line 5926 "tracker-sparql-expression.c"
											} else {
												const gchar* _tmp83_ = NULL;
#line 603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp83_ = uri;
#line 603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												if (g_strcmp0 (_tmp83_, TRACKER_SPARQL_EXPRESSION_FN_NS "substring") == 0) {
#line 5933 "tracker-sparql-expression.c"
													GString* _tmp84_ = NULL;
													GString* _tmp85_ = NULL;
													GString* _tmp86_ = NULL;
													GString* _tmp87_ = NULL;
													gboolean _tmp88_ = FALSE;
													gboolean _tmp89_ = FALSE;
													GString* _tmp92_ = NULL;
#line 604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp84_ = sql;
#line 604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_string_append (_tmp84_, "substr(");
#line 605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp85_ = sql;
#line 605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													tracker_sparql_expression_translate_expression_as_string (self, _tmp85_, &_inner_error_);
#line 605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_propagate_error (error, _inner_error_);
#line 605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return 0;
#line 5957 "tracker-sparql-expression.c"
														} else {
#line 605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_clear_error (&_inner_error_);
#line 605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return 0;
#line 5965 "tracker-sparql-expression.c"
														}
													}
#line 607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp86_ = sql;
#line 607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_string_append (_tmp86_, ", ");
#line 608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_propagate_error (error, _inner_error_);
#line 608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return 0;
#line 5982 "tracker-sparql-expression.c"
														} else {
#line 608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_clear_error (&_inner_error_);
#line 608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return 0;
#line 5990 "tracker-sparql-expression.c"
														}
													}
#line 609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp87_ = sql;
#line 609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													tracker_sparql_expression_translate_expression_as_string (self, _tmp87_, &_inner_error_);
#line 609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_propagate_error (error, _inner_error_);
#line 609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return 0;
#line 6005 "tracker-sparql-expression.c"
														} else {
#line 609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_clear_error (&_inner_error_);
#line 609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return 0;
#line 6013 "tracker-sparql-expression.c"
														}
													}
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp89_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp88_ = _tmp89_;
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_propagate_error (error, _inner_error_);
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return 0;
#line 6028 "tracker-sparql-expression.c"
														} else {
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_clear_error (&_inner_error_);
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return 0;
#line 6036 "tracker-sparql-expression.c"
														}
													}
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (_tmp88_) {
#line 6041 "tracker-sparql-expression.c"
														GString* _tmp90_ = NULL;
														GString* _tmp91_ = NULL;
#line 612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp90_ = sql;
#line 612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_string_append (_tmp90_, ", ");
#line 613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp91_ = sql;
#line 613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														tracker_sparql_expression_translate_expression_as_string (self, _tmp91_, &_inner_error_);
#line 613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_propagate_error (error, _inner_error_);
#line 613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return 0;
#line 6060 "tracker-sparql-expression.c"
															} else {
#line 613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_clear_error (&_inner_error_);
#line 613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return 0;
#line 6068 "tracker-sparql-expression.c"
															}
														}
													}
#line 616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp92_ = sql;
#line 616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_string_append (_tmp92_, ")");
#line 618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													result = TRACKER_PROPERTY_TYPE_STRING;
#line 618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													return result;
#line 6080 "tracker-sparql-expression.c"
												} else {
													const gchar* _tmp93_ = NULL;
#line 619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp93_ = uri;
#line 619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (g_strcmp0 (_tmp93_, TRACKER_SPARQL_EXPRESSION_FN_NS "concat") == 0) {
#line 6087 "tracker-sparql-expression.c"
														GString* _tmp94_ = NULL;
														GString* _tmp95_ = NULL;
														GString* _tmp96_ = NULL;
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp94_ = sql;
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														tracker_sparql_expression_translate_expression_as_string (self, _tmp94_, &_inner_error_);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_propagate_error (error, _inner_error_);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return 0;
#line 6103 "tracker-sparql-expression.c"
															} else {
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_clear_error (&_inner_error_);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return 0;
#line 6111 "tracker-sparql-expression.c"
															}
														}
#line 621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp95_ = sql;
#line 621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_string_append (_tmp95_, "||");
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_propagate_error (error, _inner_error_);
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return 0;
#line 6128 "tracker-sparql-expression.c"
															} else {
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_clear_error (&_inner_error_);
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return 0;
#line 6136 "tracker-sparql-expression.c"
															}
														}
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp96_ = sql;
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														tracker_sparql_expression_translate_expression_as_string (self, _tmp96_, &_inner_error_);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_propagate_error (error, _inner_error_);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return 0;
#line 6151 "tracker-sparql-expression.c"
															} else {
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_clear_error (&_inner_error_);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return 0;
#line 6159 "tracker-sparql-expression.c"
															}
														}
#line 624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														while (TRUE) {
#line 6164 "tracker-sparql-expression.c"
															gboolean _tmp97_ = FALSE;
															gboolean _tmp98_ = FALSE;
															GString* _tmp99_ = NULL;
															GString* _tmp100_ = NULL;
#line 624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															_tmp98_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															_tmp97_ = _tmp98_;
#line 624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_propagate_error (error, _inner_error_);
#line 624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6181 "tracker-sparql-expression.c"
																} else {
#line 624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_clear_error (&_inner_error_);
#line 624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6189 "tracker-sparql-expression.c"
																}
															}
#line 624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (!_tmp97_) {
#line 624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																break;
#line 6196 "tracker-sparql-expression.c"
															}
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															_tmp99_ = sql;
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_string_append (_tmp99_, "||");
#line 626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															_tmp100_ = sql;
#line 626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															tracker_sparql_expression_translate_expression_as_string (self, _tmp100_, &_inner_error_);
#line 626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_propagate_error (error, _inner_error_);
#line 626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6214 "tracker-sparql-expression.c"
																} else {
#line 626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_clear_error (&_inner_error_);
#line 626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6222 "tracker-sparql-expression.c"
																}
															}
														}
#line 629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														result = TRACKER_PROPERTY_TYPE_STRING;
#line 629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														return result;
#line 6230 "tracker-sparql-expression.c"
													} else {
														const gchar* _tmp101_ = NULL;
#line 630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp101_ = uri;
#line 630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (g_strcmp0 (_tmp101_, TRACKER_SPARQL_EXPRESSION_FN_NS "string-join") == 0) {
#line 6237 "tracker-sparql-expression.c"
															GString* _tmp102_ = NULL;
															GString* _tmp103_ = NULL;
															GString* _tmp104_ = NULL;
															GString* _tmp105_ = NULL;
															GString* _tmp110_ = NULL;
															GString* _tmp111_ = NULL;
															GString* _tmp112_ = NULL;
#line 631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															_tmp102_ = sql;
#line 631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_string_append (_tmp102_, "SparqlStringJoin(");
#line 632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_propagate_error (error, _inner_error_);
#line 632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6259 "tracker-sparql-expression.c"
																} else {
#line 632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_clear_error (&_inner_error_);
#line 632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6267 "tracker-sparql-expression.c"
																}
															}
#line 634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															_tmp103_ = sql;
#line 634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															tracker_sparql_expression_translate_expression_as_string (self, _tmp103_, &_inner_error_);
#line 634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_propagate_error (error, _inner_error_);
#line 634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6282 "tracker-sparql-expression.c"
																} else {
#line 634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_clear_error (&_inner_error_);
#line 634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6290 "tracker-sparql-expression.c"
																}
															}
#line 635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															_tmp104_ = sql;
#line 635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_string_append (_tmp104_, ", ");
#line 636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_propagate_error (error, _inner_error_);
#line 636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6307 "tracker-sparql-expression.c"
																} else {
#line 636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_clear_error (&_inner_error_);
#line 636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6315 "tracker-sparql-expression.c"
																}
															}
#line 637 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															_tmp105_ = sql;
#line 637 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															tracker_sparql_expression_translate_expression_as_string (self, _tmp105_, &_inner_error_);
#line 637 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 637 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 637 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_propagate_error (error, _inner_error_);
#line 637 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6330 "tracker-sparql-expression.c"
																} else {
#line 637 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 637 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_clear_error (&_inner_error_);
#line 637 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6338 "tracker-sparql-expression.c"
																}
															}
#line 638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															while (TRUE) {
#line 6343 "tracker-sparql-expression.c"
																gboolean _tmp106_ = FALSE;
																gboolean _tmp107_ = FALSE;
																GString* _tmp108_ = NULL;
																GString* _tmp109_ = NULL;
#line 638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																_tmp107_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																_tmp106_ = _tmp107_;
#line 638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_propagate_error (error, _inner_error_);
#line 638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return 0;
#line 6360 "tracker-sparql-expression.c"
																	} else {
#line 638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_clear_error (&_inner_error_);
#line 638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return 0;
#line 6368 "tracker-sparql-expression.c"
																	}
																}
#line 638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (!_tmp106_) {
#line 638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	break;
#line 6375 "tracker-sparql-expression.c"
																}
#line 639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																_tmp108_ = sql;
#line 639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_string_append (_tmp108_, ", ");
#line 640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																_tmp109_ = sql;
#line 640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																tracker_sparql_expression_translate_expression_as_string (self, _tmp109_, &_inner_error_);
#line 640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_propagate_error (error, _inner_error_);
#line 640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return 0;
#line 6393 "tracker-sparql-expression.c"
																	} else {
#line 640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_clear_error (&_inner_error_);
#line 640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return 0;
#line 6401 "tracker-sparql-expression.c"
																	}
																}
															}
#line 643 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 643 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 643 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 643 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_propagate_error (error, _inner_error_);
#line 643 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6415 "tracker-sparql-expression.c"
																} else {
#line 643 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 643 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_clear_error (&_inner_error_);
#line 643 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6423 "tracker-sparql-expression.c"
																}
															}
#line 644 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															_tmp110_ = sql;
#line 644 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_string_append (_tmp110_, ",");
#line 645 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 645 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 645 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 645 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_propagate_error (error, _inner_error_);
#line 645 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6440 "tracker-sparql-expression.c"
																} else {
#line 645 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 645 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_clear_error (&_inner_error_);
#line 645 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6448 "tracker-sparql-expression.c"
																}
															}
#line 646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															_tmp111_ = sql;
#line 646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															tracker_sparql_expression_translate_expression (self, _tmp111_, &_inner_error_);
#line 646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_propagate_error (error, _inner_error_);
#line 646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6463 "tracker-sparql-expression.c"
																} else {
#line 646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_clear_error (&_inner_error_);
#line 646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 6471 "tracker-sparql-expression.c"
																}
															}
#line 647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															_tmp112_ = sql;
#line 647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_string_append (_tmp112_, ")");
#line 649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															result = TRACKER_PROPERTY_TYPE_STRING;
#line 649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return result;
#line 6482 "tracker-sparql-expression.c"
														} else {
															const gchar* _tmp113_ = NULL;
#line 650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															_tmp113_ = uri;
#line 650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (g_strcmp0 (_tmp113_, TRACKER_SPARQL_EXPRESSION_FN_NS "year-from-dateTime") == 0) {
#line 6489 "tracker-sparql-expression.c"
																GString* _tmp114_ = NULL;
#line 651 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																_tmp114_ = sql;
#line 651 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																tracker_sparql_expression_translate_date (self, _tmp114_, "%Y", &_inner_error_);
#line 651 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 651 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 651 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_propagate_error (error, _inner_error_);
#line 651 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return 0;
#line 6503 "tracker-sparql-expression.c"
																	} else {
#line 651 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 651 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_clear_error (&_inner_error_);
#line 651 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return 0;
#line 6511 "tracker-sparql-expression.c"
																	}
																}
#line 652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return result;
#line 6518 "tracker-sparql-expression.c"
															} else {
																const gchar* _tmp115_ = NULL;
#line 653 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																_tmp115_ = uri;
#line 653 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (g_strcmp0 (_tmp115_, TRACKER_SPARQL_EXPRESSION_FN_NS "month-from-dateTime") == 0) {
#line 6525 "tracker-sparql-expression.c"
																	GString* _tmp116_ = NULL;
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	_tmp116_ = sql;
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	tracker_sparql_expression_translate_date (self, _tmp116_, "%m", &_inner_error_);
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_propagate_error (error, _inner_error_);
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 6539 "tracker-sparql-expression.c"
																		} else {
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_clear_error (&_inner_error_);
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 6547 "tracker-sparql-expression.c"
																		}
																	}
#line 655 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 655 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return result;
#line 6554 "tracker-sparql-expression.c"
																} else {
																	const gchar* _tmp117_ = NULL;
#line 656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	_tmp117_ = uri;
#line 656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (g_strcmp0 (_tmp117_, TRACKER_SPARQL_EXPRESSION_FN_NS "day-from-dateTime") == 0) {
#line 6561 "tracker-sparql-expression.c"
																		GString* _tmp118_ = NULL;
#line 657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		_tmp118_ = sql;
#line 657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		tracker_sparql_expression_translate_date (self, _tmp118_, "%d", &_inner_error_);
#line 657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				g_propagate_error (error, _inner_error_);
#line 657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				return 0;
#line 6575 "tracker-sparql-expression.c"
																			} else {
#line 657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				g_clear_error (&_inner_error_);
#line 657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				return 0;
#line 6583 "tracker-sparql-expression.c"
																			}
																		}
#line 658 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 658 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return result;
#line 6590 "tracker-sparql-expression.c"
																	} else {
																		const gchar* _tmp119_ = NULL;
#line 659 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		_tmp119_ = uri;
#line 659 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		if (g_strcmp0 (_tmp119_, TRACKER_SPARQL_EXPRESSION_FN_NS "hours-from-dateTime") == 0) {
#line 6597 "tracker-sparql-expression.c"
																			GString* _tmp120_ = NULL;
#line 660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			_tmp120_ = sql;
#line 660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			tracker_sparql_expression_translate_time (self, _tmp120_, TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_HOURS, &_inner_error_);
#line 660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					g_propagate_error (error, _inner_error_);
#line 660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					return 0;
#line 6611 "tracker-sparql-expression.c"
																				} else {
#line 660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					g_clear_error (&_inner_error_);
#line 660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					return 0;
#line 6619 "tracker-sparql-expression.c"
																				}
																			}
#line 661 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 661 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return result;
#line 6626 "tracker-sparql-expression.c"
																		} else {
																			const gchar* _tmp121_ = NULL;
#line 662 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			_tmp121_ = uri;
#line 662 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			if (g_strcmp0 (_tmp121_, TRACKER_SPARQL_EXPRESSION_FN_NS "minutes-from-dateTime") == 0) {
#line 6633 "tracker-sparql-expression.c"
																				GString* _tmp122_ = NULL;
#line 663 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				_tmp122_ = sql;
#line 663 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				tracker_sparql_expression_translate_time (self, _tmp122_, TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_MINUTES, &_inner_error_);
#line 663 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 663 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 663 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_propagate_error (error, _inner_error_);
#line 663 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						return 0;
#line 6647 "tracker-sparql-expression.c"
																					} else {
#line 663 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 663 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_clear_error (&_inner_error_);
#line 663 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						return 0;
#line 6655 "tracker-sparql-expression.c"
																					}
																				}
#line 664 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 664 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				return result;
#line 6662 "tracker-sparql-expression.c"
																			} else {
																				const gchar* _tmp123_ = NULL;
#line 665 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				_tmp123_ = uri;
#line 665 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				if (g_strcmp0 (_tmp123_, TRACKER_SPARQL_EXPRESSION_FN_NS "seconds-from-dateTime") == 0) {
#line 6669 "tracker-sparql-expression.c"
																					GString* _tmp124_ = NULL;
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					_tmp124_ = sql;
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					tracker_sparql_expression_translate_time (self, _tmp124_, TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_SECONDS, &_inner_error_);
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							g_propagate_error (error, _inner_error_);
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							return 0;
#line 6683 "tracker-sparql-expression.c"
																						} else {
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							g_clear_error (&_inner_error_);
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							return 0;
#line 6691 "tracker-sparql-expression.c"
																						}
																					}
#line 667 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 667 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					return result;
#line 6698 "tracker-sparql-expression.c"
																				} else {
																					const gchar* _tmp125_ = NULL;
#line 668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					_tmp125_ = uri;
#line 668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					if (g_strcmp0 (_tmp125_, TRACKER_SPARQL_EXPRESSION_FN_NS "timezone-from-dateTime") == 0) {
#line 6705 "tracker-sparql-expression.c"
																						gchar* variable_name = NULL;
																						gchar* _tmp126_ = NULL;
																						gchar* _tmp127_ = NULL;
																						gchar* _tmp128_ = NULL;
																						gchar* _tmp129_ = NULL;
																						TrackerSparqlVariable* variable = NULL;
																						TrackerSparqlContext* _tmp130_ = NULL;
																						TrackerSparqlContext* _tmp131_ = NULL;
																						const gchar* _tmp132_ = NULL;
																						TrackerSparqlVariable* _tmp133_ = NULL;
																						TrackerSparqlVariable* _tmp134_ = NULL;
																						GString* _tmp135_ = NULL;
																						GString* _tmp136_ = NULL;
																						TrackerSparqlVariable* _tmp137_ = NULL;
																						gchar* _tmp138_ = NULL;
																						gchar* _tmp139_ = NULL;
																						GString* _tmp140_ = NULL;
																						GString* _tmp141_ = NULL;
																						TrackerSparqlVariable* _tmp142_ = NULL;
																						gchar* _tmp143_ = NULL;
																						gchar* _tmp144_ = NULL;
																						GString* _tmp145_ = NULL;
																						GString* _tmp146_ = NULL;
																						GString* _tmp147_ = NULL;
																						TrackerSparqlVariable* _tmp148_ = NULL;
																						const gchar* _tmp149_ = NULL;
																						const gchar* _tmp150_ = NULL;
																						GString* _tmp151_ = NULL;
																						GString* _tmp152_ = NULL;
#line 669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
#line 669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_propagate_error (error, _inner_error_);
#line 669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								return 0;
#line 6745 "tracker-sparql-expression.c"
																							} else {
#line 669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_clear_error (&_inner_error_);
#line 669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								return 0;
#line 6753 "tracker-sparql-expression.c"
																							}
																						}
#line 670 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp126_ = tracker_sparql_expression_get_last_string (self, 0);
#line 670 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp127_ = _tmp126_;
#line 670 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp128_ = string_substring (_tmp127_, (glong) 1, (glong) -1);
#line 670 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp129_ = _tmp128_;
#line 670 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_g_free0 (_tmp127_);
#line 670 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						variable_name = _tmp129_;
#line 671 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp130_ = tracker_sparql_expression_get_context (self);
#line 671 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp131_ = _tmp130_;
#line 671 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp132_ = variable_name;
#line 671 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp133_ = tracker_sparql_context_get_variable (_tmp131_, _tmp132_);
#line 671 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp134_ = _g_object_ref0 (_tmp133_);
#line 671 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						variable = _tmp134_;
#line 673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp135_ = sql;
#line 673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_string_append (_tmp135_, "(");
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp136_ = sql;
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp137_ = variable;
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp138_ = tracker_sparql_variable_get_extra_sql_expression (_tmp137_, "localDate");
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp139_ = _tmp138_;
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_string_append (_tmp136_, _tmp139_);
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_g_free0 (_tmp139_);
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp140_ = sql;
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_string_append (_tmp140_, " * 24 * 3600 + ");
#line 676 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp141_ = sql;
#line 676 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp142_ = variable;
#line 676 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp143_ = tracker_sparql_variable_get_extra_sql_expression (_tmp142_, "localTime");
#line 676 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp144_ = _tmp143_;
#line 676 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_string_append (_tmp141_, _tmp144_);
#line 676 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_g_free0 (_tmp144_);
#line 677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp145_ = sql;
#line 677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_string_append (_tmp145_, "- ");
#line 678 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp146_ = sql;
#line 678 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_string_append (_tmp146_, "CAST (");
#line 679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp147_ = sql;
#line 679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp148_ = variable;
#line 679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp149_ = tracker_sparql_variable_get_sql_expression (_tmp148_);
#line 679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp150_ = _tmp149_;
#line 679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_string_append (_tmp147_, _tmp150_);
#line 680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp151_ = sql;
#line 680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_string_append (_tmp151_, " AS INTEGER)");
#line 681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp152_ = sql;
#line 681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_string_append (_tmp152_, ")");
#line 683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_g_object_unref0 (variable);
#line 683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_g_free0 (variable_name);
#line 683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						return result;
#line 6846 "tracker-sparql-expression.c"
																					} else {
																						const gchar* _tmp153_ = NULL;
#line 684 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						_tmp153_ = uri;
#line 684 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						if (g_strcmp0 (_tmp153_, TRACKER_SPARQL_EXPRESSION_FN_NS "replace") == 0) {
#line 6853 "tracker-sparql-expression.c"
																							GString* _tmp154_ = NULL;
																							GString* _tmp155_ = NULL;
																							GString* _tmp156_ = NULL;
																							GString* _tmp157_ = NULL;
																							GString* _tmp158_ = NULL;
																							GString* _tmp159_ = NULL;
																							GString* _tmp160_ = NULL;
#line 685 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							_tmp154_ = sql;
#line 685 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							g_string_append (_tmp154_, "replace(");
#line 686 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							_tmp155_ = sql;
#line 686 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							tracker_sparql_expression_translate_expression_as_string (self, _tmp155_, &_inner_error_);
#line 686 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 686 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 686 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_propagate_error (error, _inner_error_);
#line 686 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									return 0;
#line 6877 "tracker-sparql-expression.c"
																								} else {
#line 686 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 686 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_clear_error (&_inner_error_);
#line 686 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									return 0;
#line 6885 "tracker-sparql-expression.c"
																								}
																							}
#line 687 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							_tmp156_ = sql;
#line 687 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							g_string_append (_tmp156_, ", ");
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_propagate_error (error, _inner_error_);
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									return 0;
#line 6902 "tracker-sparql-expression.c"
																								} else {
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_clear_error (&_inner_error_);
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									return 0;
#line 6910 "tracker-sparql-expression.c"
																								}
																							}
#line 690 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							_tmp157_ = sql;
#line 690 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							tracker_sparql_expression_translate_expression_as_string (self, _tmp157_, &_inner_error_);
#line 690 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 690 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 690 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_propagate_error (error, _inner_error_);
#line 690 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									return 0;
#line 6925 "tracker-sparql-expression.c"
																								} else {
#line 690 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 690 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_clear_error (&_inner_error_);
#line 690 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									return 0;
#line 6933 "tracker-sparql-expression.c"
																								}
																							}
#line 691 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							_tmp158_ = sql;
#line 691 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							g_string_append (_tmp158_, ", ");
#line 693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_propagate_error (error, _inner_error_);
#line 693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									return 0;
#line 6950 "tracker-sparql-expression.c"
																								} else {
#line 693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_clear_error (&_inner_error_);
#line 693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									return 0;
#line 6958 "tracker-sparql-expression.c"
																								}
																							}
#line 694 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							_tmp159_ = sql;
#line 694 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							tracker_sparql_expression_translate_expression_as_string (self, _tmp159_, &_inner_error_);
#line 694 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 694 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 694 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_propagate_error (error, _inner_error_);
#line 694 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									return 0;
#line 6973 "tracker-sparql-expression.c"
																								} else {
#line 694 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 694 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_clear_error (&_inner_error_);
#line 694 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									return 0;
#line 6981 "tracker-sparql-expression.c"
																								}
																							}
#line 697 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							_tmp160_ = sql;
#line 697 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							g_string_append (_tmp160_, ")");
#line 699 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							result = TRACKER_PROPERTY_TYPE_STRING;
#line 699 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							return result;
#line 6992 "tracker-sparql-expression.c"
																						} else {
																							const gchar* _tmp161_ = NULL;
#line 700 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							_tmp161_ = uri;
#line 700 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							if (g_strcmp0 (_tmp161_, TRACKER_SPARQL_EXPRESSION_FTS_NS "rank") == 0) {
#line 6999 "tracker-sparql-expression.c"
																								gboolean is_var = FALSE;
																								gchar* v = NULL;
																								TrackerSparqlPattern* _tmp162_ = NULL;
																								TrackerSparqlPattern* _tmp163_ = NULL;
																								gboolean _tmp164_ = FALSE;
																								gchar* _tmp165_ = NULL;
																								GString* _tmp166_ = NULL;
																								const gchar* _tmp167_ = NULL;
#line 702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp162_ = tracker_sparql_expression_get_pattern (self);
#line 702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp163_ = _tmp162_;
#line 702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp165_ = tracker_sparql_pattern_parse_var_or_term (_tmp163_, NULL, &_tmp164_, &_inner_error_);
#line 702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								is_var = _tmp164_;
#line 702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								v = _tmp165_;
#line 702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										g_propagate_error (error, _inner_error_);
#line 702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										return 0;
#line 7026 "tracker-sparql-expression.c"
																									} else {
#line 702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										g_clear_error (&_inner_error_);
#line 702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										return 0;
#line 7034 "tracker-sparql-expression.c"
																									}
																								}
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp166_ = sql;
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp167_ = v;
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_string_append_printf (_tmp166_, "\"%s_u_rank\"", _tmp167_);
#line 705 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								result = TRACKER_PROPERTY_TYPE_DOUBLE;
#line 705 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_g_free0 (v);
#line 705 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								return result;
#line 7049 "tracker-sparql-expression.c"
																							} else {
																								const gchar* _tmp168_ = NULL;
#line 706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp168_ = uri;
#line 706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								if (g_strcmp0 (_tmp168_, TRACKER_SPARQL_EXPRESSION_FTS_NS "offsets") == 0) {
#line 7056 "tracker-sparql-expression.c"
																									gboolean is_var = FALSE;
																									gchar* v = NULL;
																									TrackerSparqlPattern* _tmp169_ = NULL;
																									TrackerSparqlPattern* _tmp170_ = NULL;
																									gboolean _tmp171_ = FALSE;
																									gchar* _tmp172_ = NULL;
																									TrackerSparqlVariable* variable = NULL;
																									TrackerSparqlContext* _tmp173_ = NULL;
																									TrackerSparqlContext* _tmp174_ = NULL;
																									const gchar* _tmp175_ = NULL;
																									TrackerSparqlVariable* _tmp176_ = NULL;
																									TrackerSparqlVariable* _tmp177_ = NULL;
																									GString* _tmp178_ = NULL;
																									TrackerSparqlVariable* _tmp179_ = NULL;
																									const gchar* _tmp180_ = NULL;
																									const gchar* _tmp181_ = NULL;
																									gchar* _tmp182_ = NULL;
#line 708 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp169_ = tracker_sparql_expression_get_pattern (self);
#line 708 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp170_ = _tmp169_;
#line 708 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp172_ = tracker_sparql_pattern_parse_var_or_term (_tmp170_, NULL, &_tmp171_, &_inner_error_);
#line 708 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									is_var = _tmp171_;
#line 708 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									v = _tmp172_;
#line 708 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 708 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 708 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_propagate_error (error, _inner_error_);
#line 708 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											return 0;
#line 7092 "tracker-sparql-expression.c"
																										} else {
#line 708 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 708 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_clear_error (&_inner_error_);
#line 708 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											return 0;
#line 7100 "tracker-sparql-expression.c"
																										}
																									}
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp173_ = tracker_sparql_expression_get_context (self);
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp174_ = _tmp173_;
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp175_ = v;
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp176_ = tracker_sparql_context_get_variable (_tmp174_, _tmp175_);
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp177_ = _g_object_ref0 (_tmp176_);
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									variable = _tmp177_;
#line 711 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp178_ = sql;
#line 711 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp179_ = variable;
#line 711 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp180_ = tracker_sparql_variable_get_sql_expression (_tmp179_);
#line 711 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp181_ = _tmp180_;
#line 711 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_string_append (_tmp178_, _tmp181_);
#line 712 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp182_ = g_strdup ("tracker_offsets(\"fts5\")");
#line 712 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_g_free0 (self->priv->fts_sql);
#line 712 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									self->priv->fts_sql = _tmp182_;
#line 713 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									result = TRACKER_PROPERTY_TYPE_STRING;
#line 713 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_g_object_unref0 (variable);
#line 713 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_g_free0 (v);
#line 713 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									return result;
#line 7139 "tracker-sparql-expression.c"
																								} else {
																									const gchar* _tmp183_ = NULL;
#line 714 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp183_ = uri;
#line 714 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									if (g_strcmp0 (_tmp183_, TRACKER_SPARQL_EXPRESSION_FTS_NS "snippet") == 0) {
#line 7146 "tracker-sparql-expression.c"
																										gboolean is_var = FALSE;
																										gchar* v = NULL;
																										TrackerSparqlPattern* _tmp184_ = NULL;
																										TrackerSparqlPattern* _tmp185_ = NULL;
																										gboolean _tmp186_ = FALSE;
																										gchar* _tmp187_ = NULL;
																										TrackerSparqlVariable* variable = NULL;
																										TrackerSparqlContext* _tmp188_ = NULL;
																										TrackerSparqlContext* _tmp189_ = NULL;
																										const gchar* _tmp190_ = NULL;
																										TrackerSparqlVariable* _tmp191_ = NULL;
																										TrackerSparqlVariable* _tmp192_ = NULL;
																										GString* fts = NULL;
																										GString* _tmp193_ = NULL;
																										GString* _tmp194_ = NULL;
																										GString* _tmp195_ = NULL;
																										gboolean _tmp196_ = FALSE;
																										gboolean _tmp197_ = FALSE;
																										gboolean _tmp203_ = FALSE;
																										gboolean _tmp204_ = FALSE;
																										gboolean _tmp208_ = FALSE;
																										gboolean _tmp209_ = FALSE;
																										GString* _tmp213_ = NULL;
																										GString* _tmp214_ = NULL;
																										const gchar* _tmp215_ = NULL;
																										gchar* _tmp216_ = NULL;
																										GString* _tmp217_ = NULL;
																										TrackerSparqlVariable* _tmp218_ = NULL;
																										const gchar* _tmp219_ = NULL;
																										const gchar* _tmp220_ = NULL;
#line 717 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp184_ = tracker_sparql_expression_get_pattern (self);
#line 717 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp185_ = _tmp184_;
#line 717 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp187_ = tracker_sparql_pattern_parse_var_or_term (_tmp185_, NULL, &_tmp186_, &_inner_error_);
#line 717 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										is_var = _tmp186_;
#line 717 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										v = _tmp187_;
#line 717 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 717 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 717 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_propagate_error (error, _inner_error_);
#line 717 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												return 0;
#line 7195 "tracker-sparql-expression.c"
																											} else {
#line 717 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 717 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_clear_error (&_inner_error_);
#line 717 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												return 0;
#line 7203 "tracker-sparql-expression.c"
																											}
																										}
#line 718 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp188_ = tracker_sparql_expression_get_context (self);
#line 718 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp189_ = _tmp188_;
#line 718 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp190_ = v;
#line 718 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp191_ = tracker_sparql_context_get_variable (_tmp189_, _tmp190_);
#line 718 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp192_ = _g_object_ref0 (_tmp191_);
#line 718 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										variable = _tmp192_;
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp193_ = g_string_new ("");
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										fts = _tmp193_;
#line 721 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp194_ = fts;
#line 721 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										g_string_append_printf (_tmp194_, "snippet(\"fts5\"");
#line 724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp195_ = fts;
#line 724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										g_string_append (_tmp195_, ", -1");
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp197_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp196_ = _tmp197_;
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_propagate_error (error, _inner_error_);
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_string_free0 (fts);
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_object_unref0 (variable);
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_free0 (v);
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												return 0;
#line 7248 "tracker-sparql-expression.c"
																											} else {
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_string_free0 (fts);
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_object_unref0 (variable);
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_free0 (v);
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_clear_error (&_inner_error_);
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												return 0;
#line 7262 "tracker-sparql-expression.c"
																											}
																										}
#line 727 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (_tmp196_) {
#line 7267 "tracker-sparql-expression.c"
																											GString* _tmp198_ = NULL;
																											GString* _tmp199_ = NULL;
																											GString* _tmp200_ = NULL;
																											GString* _tmp201_ = NULL;
#line 728 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp198_ = fts;
#line 728 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_string_append (_tmp198_, ", ");
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp199_ = fts;
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											tracker_sparql_expression_translate_expression_as_string (self, _tmp199_, &_inner_error_);
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_propagate_error (error, _inner_error_);
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_string_free0 (fts);
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_object_unref0 (variable);
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_free0 (v);
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 7294 "tracker-sparql-expression.c"
																												} else {
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_string_free0 (fts);
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_object_unref0 (variable);
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_free0 (v);
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_clear_error (&_inner_error_);
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 7308 "tracker-sparql-expression.c"
																												}
																											}
#line 732 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 732 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 732 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 732 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_propagate_error (error, _inner_error_);
#line 732 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_string_free0 (fts);
#line 732 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_object_unref0 (variable);
#line 732 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_free0 (v);
#line 732 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 7327 "tracker-sparql-expression.c"
																												} else {
#line 732 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_string_free0 (fts);
#line 732 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_object_unref0 (variable);
#line 732 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_free0 (v);
#line 732 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 732 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_clear_error (&_inner_error_);
#line 732 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 7341 "tracker-sparql-expression.c"
																												}
																											}
#line 733 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp200_ = fts;
#line 733 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_string_append (_tmp200_, ", ");
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp201_ = fts;
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											tracker_sparql_expression_translate_expression_as_string (self, _tmp201_, &_inner_error_);
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_propagate_error (error, _inner_error_);
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_string_free0 (fts);
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_object_unref0 (variable);
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_free0 (v);
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 7366 "tracker-sparql-expression.c"
																												} else {
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_string_free0 (fts);
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_object_unref0 (variable);
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_free0 (v);
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_clear_error (&_inner_error_);
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 7380 "tracker-sparql-expression.c"
																												}
																											}
																										} else {
																											GString* _tmp202_ = NULL;
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp202_ = fts;
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_string_append (_tmp202_, ",'',''");
#line 7389 "tracker-sparql-expression.c"
																										}
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp204_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp203_ = _tmp204_;
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_propagate_error (error, _inner_error_);
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_string_free0 (fts);
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_object_unref0 (variable);
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_free0 (v);
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												return 0;
#line 7409 "tracker-sparql-expression.c"
																											} else {
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_string_free0 (fts);
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_object_unref0 (variable);
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_free0 (v);
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_clear_error (&_inner_error_);
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												return 0;
#line 7423 "tracker-sparql-expression.c"
																											}
																										}
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (_tmp203_) {
#line 7428 "tracker-sparql-expression.c"
																											GString* _tmp205_ = NULL;
																											GString* _tmp206_ = NULL;
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp205_ = fts;
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_string_append (_tmp205_, ", ");
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp206_ = fts;
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											tracker_sparql_expression_translate_expression_as_string (self, _tmp206_, &_inner_error_);
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_propagate_error (error, _inner_error_);
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_string_free0 (fts);
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_object_unref0 (variable);
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_free0 (v);
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 7453 "tracker-sparql-expression.c"
																												} else {
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_string_free0 (fts);
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_object_unref0 (variable);
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_free0 (v);
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_clear_error (&_inner_error_);
#line 742 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 7467 "tracker-sparql-expression.c"
																												}
																											}
																										} else {
																											GString* _tmp207_ = NULL;
#line 744 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp207_ = fts;
#line 744 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_string_append (_tmp207_, ", '...'");
#line 7476 "tracker-sparql-expression.c"
																										}
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp209_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp208_ = _tmp209_;
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_propagate_error (error, _inner_error_);
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_string_free0 (fts);
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_object_unref0 (variable);
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_free0 (v);
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												return 0;
#line 7496 "tracker-sparql-expression.c"
																											} else {
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_string_free0 (fts);
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_object_unref0 (variable);
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_free0 (v);
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_clear_error (&_inner_error_);
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												return 0;
#line 7510 "tracker-sparql-expression.c"
																											}
																										}
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (_tmp208_) {
#line 7515 "tracker-sparql-expression.c"
																											GString* _tmp210_ = NULL;
																											GString* _tmp211_ = NULL;
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp210_ = fts;
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_string_append (_tmp210_, ", ");
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp211_ = fts;
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											tracker_sparql_expression_translate_expression_as_string (self, _tmp211_, &_inner_error_);
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_propagate_error (error, _inner_error_);
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_string_free0 (fts);
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_object_unref0 (variable);
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_free0 (v);
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 7540 "tracker-sparql-expression.c"
																												} else {
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_string_free0 (fts);
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_object_unref0 (variable);
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_g_free0 (v);
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_clear_error (&_inner_error_);
#line 750 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 7554 "tracker-sparql-expression.c"
																												}
																											}
																										} else {
																											GString* _tmp212_ = NULL;
#line 752 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp212_ = fts;
#line 752 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_string_append (_tmp212_, ", 5");
#line 7563 "tracker-sparql-expression.c"
																										}
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp213_ = fts;
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										g_string_append (_tmp213_, ")");
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp214_ = fts;
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp215_ = _tmp214_->str;
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp216_ = g_strdup (_tmp215_);
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_g_free0 (self->priv->fts_sql);
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										self->priv->fts_sql = _tmp216_;
#line 758 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp217_ = sql;
#line 758 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp218_ = variable;
#line 758 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp219_ = tracker_sparql_variable_get_sql_expression (_tmp218_);
#line 758 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp220_ = _tmp219_;
#line 758 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										g_string_append (_tmp217_, _tmp220_);
#line 759 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										result = TRACKER_PROPERTY_TYPE_STRING;
#line 759 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_g_string_free0 (fts);
#line 759 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_g_object_unref0 (variable);
#line 759 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_g_free0 (v);
#line 759 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										return result;
#line 7599 "tracker-sparql-expression.c"
																									} else {
																										const gchar* _tmp221_ = NULL;
#line 760 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp221_ = uri;
#line 760 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (g_strcmp0 (_tmp221_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "id") == 0) {
#line 7606 "tracker-sparql-expression.c"
																											TrackerPropertyType type = 0;
																											GString* _tmp222_ = NULL;
																											TrackerPropertyType _tmp223_ = 0;
																											TrackerPropertyType _tmp224_ = 0;
#line 761 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp222_ = sql;
#line 761 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp223_ = tracker_sparql_expression_translate_expression (self, _tmp222_, &_inner_error_);
#line 761 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											type = _tmp223_;
#line 761 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 761 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 761 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_propagate_error (error, _inner_error_);
#line 761 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 7625 "tracker-sparql-expression.c"
																												} else {
#line 761 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 761 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_clear_error (&_inner_error_);
#line 761 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 7633 "tracker-sparql-expression.c"
																												}
																											}
#line 762 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp224_ = type;
#line 762 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (_tmp224_ != TRACKER_PROPERTY_TYPE_RESOURCE) {
#line 7640 "tracker-sparql-expression.c"
																												GError* _tmp225_ = NULL;
#line 763 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp225_ = tracker_sparql_expression_get_error (self, "expected resource");
#line 763 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_inner_error_ = _tmp225_;
#line 763 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 763 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_propagate_error (error, _inner_error_);
#line 763 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 7652 "tracker-sparql-expression.c"
																												} else {
#line 763 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 763 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_clear_error (&_inner_error_);
#line 763 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 7660 "tracker-sparql-expression.c"
																												}
																											}
#line 766 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 766 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											return result;
#line 7667 "tracker-sparql-expression.c"
																										} else {
																											const gchar* _tmp226_ = NULL;
#line 767 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp226_ = uri;
#line 767 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (g_strcmp0 (_tmp226_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "uri") == 0) {
#line 7674 "tracker-sparql-expression.c"
																												TrackerPropertyType type = 0;
																												GString* _tmp227_ = NULL;
																												TrackerPropertyType _tmp228_ = 0;
																												TrackerPropertyType _tmp229_ = 0;
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp227_ = sql;
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp228_ = tracker_sparql_expression_translate_expression (self, _tmp227_, &_inner_error_);
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												type = _tmp228_;
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_propagate_error (error, _inner_error_);
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														return 0;
#line 7693 "tracker-sparql-expression.c"
																													} else {
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_clear_error (&_inner_error_);
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														return 0;
#line 7701 "tracker-sparql-expression.c"
																													}
																												}
#line 769 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp229_ = type;
#line 769 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (_tmp229_ != TRACKER_PROPERTY_TYPE_INTEGER) {
#line 7708 "tracker-sparql-expression.c"
																													GError* _tmp230_ = NULL;
#line 770 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp230_ = tracker_sparql_expression_get_error (self, "expected integer ID");
#line 770 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_inner_error_ = _tmp230_;
#line 770 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 770 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_propagate_error (error, _inner_error_);
#line 770 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														return 0;
#line 7720 "tracker-sparql-expression.c"
																													} else {
#line 770 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 770 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_clear_error (&_inner_error_);
#line 770 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														return 0;
#line 7728 "tracker-sparql-expression.c"
																													}
																												}
#line 773 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												result = TRACKER_PROPERTY_TYPE_RESOURCE;
#line 773 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												return result;
#line 7735 "tracker-sparql-expression.c"
																											} else {
																												const gchar* _tmp231_ = NULL;
#line 774 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp231_ = uri;
#line 774 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (g_strcmp0 (_tmp231_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "cartesian-distance") == 0) {
#line 7742 "tracker-sparql-expression.c"
																													GString* _tmp232_ = NULL;
																													GString* _tmp233_ = NULL;
																													GString* _tmp234_ = NULL;
																													GString* _tmp235_ = NULL;
																													GString* _tmp236_ = NULL;
																													GString* _tmp237_ = NULL;
																													GString* _tmp238_ = NULL;
																													GString* _tmp239_ = NULL;
																													GString* _tmp240_ = NULL;
#line 775 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp232_ = sql;
#line 775 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_string_append (_tmp232_, "SparqlCartesianDistance(");
#line 776 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp233_ = sql;
#line 776 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													tracker_sparql_expression_translate_expression (self, _tmp233_, &_inner_error_);
#line 776 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 776 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 776 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_propagate_error (error, _inner_error_);
#line 776 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7768 "tracker-sparql-expression.c"
																														} else {
#line 776 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 776 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_clear_error (&_inner_error_);
#line 776 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7776 "tracker-sparql-expression.c"
																														}
																													}
#line 777 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp234_ = sql;
#line 777 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_string_append (_tmp234_, ", ");
#line 778 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 778 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 778 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 778 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_propagate_error (error, _inner_error_);
#line 778 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7793 "tracker-sparql-expression.c"
																														} else {
#line 778 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 778 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_clear_error (&_inner_error_);
#line 778 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7801 "tracker-sparql-expression.c"
																														}
																													}
#line 779 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp235_ = sql;
#line 779 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													tracker_sparql_expression_translate_expression (self, _tmp235_, &_inner_error_);
#line 779 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 779 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 779 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_propagate_error (error, _inner_error_);
#line 779 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7816 "tracker-sparql-expression.c"
																														} else {
#line 779 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 779 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_clear_error (&_inner_error_);
#line 779 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7824 "tracker-sparql-expression.c"
																														}
																													}
#line 780 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp236_ = sql;
#line 780 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_string_append (_tmp236_, ", ");
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_propagate_error (error, _inner_error_);
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7841 "tracker-sparql-expression.c"
																														} else {
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_clear_error (&_inner_error_);
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7849 "tracker-sparql-expression.c"
																														}
																													}
#line 782 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp237_ = sql;
#line 782 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													tracker_sparql_expression_translate_expression (self, _tmp237_, &_inner_error_);
#line 782 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 782 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 782 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_propagate_error (error, _inner_error_);
#line 782 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7864 "tracker-sparql-expression.c"
																														} else {
#line 782 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 782 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_clear_error (&_inner_error_);
#line 782 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7872 "tracker-sparql-expression.c"
																														}
																													}
#line 783 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp238_ = sql;
#line 783 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_string_append (_tmp238_, ", ");
#line 784 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 784 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 784 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 784 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_propagate_error (error, _inner_error_);
#line 784 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7889 "tracker-sparql-expression.c"
																														} else {
#line 784 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 784 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_clear_error (&_inner_error_);
#line 784 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7897 "tracker-sparql-expression.c"
																														}
																													}
#line 785 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp239_ = sql;
#line 785 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													tracker_sparql_expression_translate_expression (self, _tmp239_, &_inner_error_);
#line 785 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 785 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 785 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_propagate_error (error, _inner_error_);
#line 785 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7912 "tracker-sparql-expression.c"
																														} else {
#line 785 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 785 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_clear_error (&_inner_error_);
#line 785 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7920 "tracker-sparql-expression.c"
																														}
																													}
#line 786 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp240_ = sql;
#line 786 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_string_append (_tmp240_, ")");
#line 788 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													result = TRACKER_PROPERTY_TYPE_DOUBLE;
#line 788 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return result;
#line 7931 "tracker-sparql-expression.c"
																												} else {
																													const gchar* _tmp241_ = NULL;
#line 789 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp241_ = uri;
#line 789 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (g_strcmp0 (_tmp241_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "haversine-distance") == 0) {
#line 7938 "tracker-sparql-expression.c"
																														GString* _tmp242_ = NULL;
																														GString* _tmp243_ = NULL;
																														GString* _tmp244_ = NULL;
																														GString* _tmp245_ = NULL;
																														GString* _tmp246_ = NULL;
																														GString* _tmp247_ = NULL;
																														GString* _tmp248_ = NULL;
																														GString* _tmp249_ = NULL;
																														GString* _tmp250_ = NULL;
#line 790 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_tmp242_ = sql;
#line 790 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_string_append (_tmp242_, "SparqlHaversineDistance(");
#line 791 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_tmp243_ = sql;
#line 791 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														tracker_sparql_expression_translate_expression (self, _tmp243_, &_inner_error_);
#line 791 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 791 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 791 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_propagate_error (error, _inner_error_);
#line 791 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 7964 "tracker-sparql-expression.c"
																															} else {
#line 791 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 791 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_clear_error (&_inner_error_);
#line 791 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 7972 "tracker-sparql-expression.c"
																															}
																														}
#line 792 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_tmp244_ = sql;
#line 792 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_string_append (_tmp244_, ", ");
#line 793 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 793 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 793 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 793 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_propagate_error (error, _inner_error_);
#line 793 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 7989 "tracker-sparql-expression.c"
																															} else {
#line 793 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 793 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_clear_error (&_inner_error_);
#line 793 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 7997 "tracker-sparql-expression.c"
																															}
																														}
#line 794 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_tmp245_ = sql;
#line 794 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														tracker_sparql_expression_translate_expression (self, _tmp245_, &_inner_error_);
#line 794 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 794 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 794 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_propagate_error (error, _inner_error_);
#line 794 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 8012 "tracker-sparql-expression.c"
																															} else {
#line 794 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 794 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_clear_error (&_inner_error_);
#line 794 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 8020 "tracker-sparql-expression.c"
																															}
																														}
#line 795 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_tmp246_ = sql;
#line 795 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_string_append (_tmp246_, ", ");
#line 796 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 796 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 796 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 796 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_propagate_error (error, _inner_error_);
#line 796 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 8037 "tracker-sparql-expression.c"
																															} else {
#line 796 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 796 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_clear_error (&_inner_error_);
#line 796 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 8045 "tracker-sparql-expression.c"
																															}
																														}
#line 797 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_tmp247_ = sql;
#line 797 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														tracker_sparql_expression_translate_expression (self, _tmp247_, &_inner_error_);
#line 797 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 797 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 797 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_propagate_error (error, _inner_error_);
#line 797 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 8060 "tracker-sparql-expression.c"
																															} else {
#line 797 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 797 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_clear_error (&_inner_error_);
#line 797 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 8068 "tracker-sparql-expression.c"
																															}
																														}
#line 798 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_tmp248_ = sql;
#line 798 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_string_append (_tmp248_, ", ");
#line 799 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 799 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 799 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 799 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_propagate_error (error, _inner_error_);
#line 799 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 8085 "tracker-sparql-expression.c"
																															} else {
#line 799 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 799 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_clear_error (&_inner_error_);
#line 799 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 8093 "tracker-sparql-expression.c"
																															}
																														}
#line 800 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_tmp249_ = sql;
#line 800 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														tracker_sparql_expression_translate_expression (self, _tmp249_, &_inner_error_);
#line 800 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 800 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 800 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_propagate_error (error, _inner_error_);
#line 800 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 8108 "tracker-sparql-expression.c"
																															} else {
#line 800 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 800 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_clear_error (&_inner_error_);
#line 800 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 8116 "tracker-sparql-expression.c"
																															}
																														}
#line 801 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_tmp250_ = sql;
#line 801 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_string_append (_tmp250_, ")");
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														result = TRACKER_PROPERTY_TYPE_DOUBLE;
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														return result;
#line 8127 "tracker-sparql-expression.c"
																													} else {
																														const gchar* _tmp251_ = NULL;
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_tmp251_ = uri;
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (g_strcmp0 (_tmp251_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "coalesce") == 0) {
#line 8134 "tracker-sparql-expression.c"
																															GString* _tmp252_ = NULL;
																															GString* _tmp253_ = NULL;
																															GString* _tmp254_ = NULL;
																															GString* _tmp255_ = NULL;
																															GString* _tmp260_ = NULL;
#line 805 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_tmp252_ = sql;
#line 805 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_string_append (_tmp252_, "COALESCE(");
#line 806 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_tmp253_ = sql;
#line 806 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															tracker_sparql_expression_translate_expression_as_string (self, _tmp253_, &_inner_error_);
#line 806 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 806 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 806 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_propagate_error (error, _inner_error_);
#line 806 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 8156 "tracker-sparql-expression.c"
																																} else {
#line 806 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 806 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_clear_error (&_inner_error_);
#line 806 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 8164 "tracker-sparql-expression.c"
																																}
																															}
#line 807 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_tmp254_ = sql;
#line 807 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_string_append (_tmp254_, ", ");
#line 808 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 808 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 808 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 808 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_propagate_error (error, _inner_error_);
#line 808 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 8181 "tracker-sparql-expression.c"
																																} else {
#line 808 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 808 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_clear_error (&_inner_error_);
#line 808 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 8189 "tracker-sparql-expression.c"
																																}
																															}
#line 809 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_tmp255_ = sql;
#line 809 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															tracker_sparql_expression_translate_expression_as_string (self, _tmp255_, &_inner_error_);
#line 809 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 809 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 809 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_propagate_error (error, _inner_error_);
#line 809 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 8204 "tracker-sparql-expression.c"
																																} else {
#line 809 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 809 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_clear_error (&_inner_error_);
#line 809 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 8212 "tracker-sparql-expression.c"
																																}
																															}
#line 810 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															while (TRUE) {
#line 8217 "tracker-sparql-expression.c"
																																gboolean _tmp256_ = FALSE;
																																gboolean _tmp257_ = FALSE;
																																GString* _tmp258_ = NULL;
																																GString* _tmp259_ = NULL;
#line 810 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																_tmp257_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 810 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																_tmp256_ = _tmp257_;
#line 810 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 810 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 810 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_propagate_error (error, _inner_error_);
#line 810 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 8234 "tracker-sparql-expression.c"
																																	} else {
#line 810 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 810 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_clear_error (&_inner_error_);
#line 810 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 8242 "tracker-sparql-expression.c"
																																	}
																																}
#line 810 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (!_tmp256_) {
#line 810 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	break;
#line 8249 "tracker-sparql-expression.c"
																																}
#line 811 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																_tmp258_ = sql;
#line 811 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_string_append (_tmp258_, ", ");
#line 812 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																_tmp259_ = sql;
#line 812 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																tracker_sparql_expression_translate_expression_as_string (self, _tmp259_, &_inner_error_);
#line 812 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 812 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 812 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_propagate_error (error, _inner_error_);
#line 812 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 8267 "tracker-sparql-expression.c"
																																	} else {
#line 812 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 812 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_clear_error (&_inner_error_);
#line 812 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 8275 "tracker-sparql-expression.c"
																																	}
																																}
																															}
#line 814 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_tmp260_ = sql;
#line 814 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_string_append (_tmp260_, ")");
#line 816 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															result = TRACKER_PROPERTY_TYPE_STRING;
#line 816 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return result;
#line 8287 "tracker-sparql-expression.c"
																														} else {
																															const gchar* _tmp261_ = NULL;
#line 817 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_tmp261_ = uri;
#line 817 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (g_strcmp0 (_tmp261_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "uri-is-parent") == 0) {
#line 8294 "tracker-sparql-expression.c"
																																GString* _tmp262_ = NULL;
																																GString* _tmp263_ = NULL;
																																GString* _tmp264_ = NULL;
																																GString* _tmp265_ = NULL;
																																GString* _tmp266_ = NULL;
#line 818 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																_tmp262_ = sql;
#line 818 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_string_append (_tmp262_, "SparqlUriIsParent(");
#line 819 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																_tmp263_ = sql;
#line 819 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																tracker_sparql_expression_translate_expression_as_string (self, _tmp263_, &_inner_error_);
#line 819 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 819 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 819 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_propagate_error (error, _inner_error_);
#line 819 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 8316 "tracker-sparql-expression.c"
																																	} else {
#line 819 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 819 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_clear_error (&_inner_error_);
#line 819 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 8324 "tracker-sparql-expression.c"
																																	}
																																}
#line 820 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																_tmp264_ = sql;
#line 820 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_string_append (_tmp264_, ", ");
#line 821 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 821 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 821 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 821 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_propagate_error (error, _inner_error_);
#line 821 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 8341 "tracker-sparql-expression.c"
																																	} else {
#line 821 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 821 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_clear_error (&_inner_error_);
#line 821 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 8349 "tracker-sparql-expression.c"
																																	}
																																}
#line 823 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																_tmp265_ = sql;
#line 823 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																tracker_sparql_expression_translate_expression_as_string (self, _tmp265_, &_inner_error_);
#line 823 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 823 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 823 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_propagate_error (error, _inner_error_);
#line 823 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 8364 "tracker-sparql-expression.c"
																																	} else {
#line 823 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 823 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_clear_error (&_inner_error_);
#line 823 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 8372 "tracker-sparql-expression.c"
																																	}
																																}
#line 824 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																_tmp266_ = sql;
#line 824 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_string_append (_tmp266_, ")");
#line 826 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 826 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return result;
#line 8383 "tracker-sparql-expression.c"
																															} else {
																																const gchar* _tmp267_ = NULL;
#line 827 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																_tmp267_ = uri;
#line 827 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (g_strcmp0 (_tmp267_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "uri-is-descendant") == 0) {
#line 8390 "tracker-sparql-expression.c"
																																	GString* _tmp268_ = NULL;
																																	GString* _tmp269_ = NULL;
																																	GString* _tmp270_ = NULL;
																																	GString* _tmp271_ = NULL;
																																	GString* _tmp276_ = NULL;
#line 828 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	_tmp268_ = sql;
#line 828 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_string_append (_tmp268_, "SparqlUriIsDescendant(");
#line 829 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	_tmp269_ = sql;
#line 829 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	tracker_sparql_expression_translate_expression_as_string (self, _tmp269_, &_inner_error_);
#line 829 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 829 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 829 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_propagate_error (error, _inner_error_);
#line 829 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			return 0;
#line 8412 "tracker-sparql-expression.c"
																																		} else {
#line 829 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 829 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_clear_error (&_inner_error_);
#line 829 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			return 0;
#line 8420 "tracker-sparql-expression.c"
																																		}
																																	}
#line 830 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	_tmp270_ = sql;
#line 830 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_string_append (_tmp270_, ", ");
#line 831 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 831 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 831 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 831 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_propagate_error (error, _inner_error_);
#line 831 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			return 0;
#line 8437 "tracker-sparql-expression.c"
																																		} else {
#line 831 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 831 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_clear_error (&_inner_error_);
#line 831 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			return 0;
#line 8445 "tracker-sparql-expression.c"
																																		}
																																	}
#line 833 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	_tmp271_ = sql;
#line 833 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	tracker_sparql_expression_translate_expression_as_string (self, _tmp271_, &_inner_error_);
#line 833 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 833 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 833 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_propagate_error (error, _inner_error_);
#line 833 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			return 0;
#line 8460 "tracker-sparql-expression.c"
																																		} else {
#line 833 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 833 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_clear_error (&_inner_error_);
#line 833 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			return 0;
#line 8468 "tracker-sparql-expression.c"
																																		}
																																	}
#line 834 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	while (TRUE) {
#line 8473 "tracker-sparql-expression.c"
																																		gboolean _tmp272_ = FALSE;
																																		gboolean _tmp273_ = FALSE;
																																		GString* _tmp274_ = NULL;
																																		GString* _tmp275_ = NULL;
#line 834 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp273_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 834 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp272_ = _tmp273_;
#line 834 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 834 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 834 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_propagate_error (error, _inner_error_);
#line 834 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 8490 "tracker-sparql-expression.c"
																																			} else {
#line 834 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 834 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_clear_error (&_inner_error_);
#line 834 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 8498 "tracker-sparql-expression.c"
																																			}
																																		}
#line 834 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (!_tmp272_) {
#line 834 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			break;
#line 8505 "tracker-sparql-expression.c"
																																		}
#line 835 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp274_ = sql;
#line 835 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_string_append (_tmp274_, ", ");
#line 836 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp275_ = sql;
#line 836 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		tracker_sparql_expression_translate_expression_as_string (self, _tmp275_, &_inner_error_);
#line 836 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 836 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 836 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_propagate_error (error, _inner_error_);
#line 836 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 8523 "tracker-sparql-expression.c"
																																			} else {
#line 836 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 836 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_clear_error (&_inner_error_);
#line 836 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 8531 "tracker-sparql-expression.c"
																																			}
																																		}
																																	}
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	_tmp276_ = sql;
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_string_append (_tmp276_, ")");
#line 840 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 840 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return result;
#line 8543 "tracker-sparql-expression.c"
																																} else {
																																	const gchar* _tmp277_ = NULL;
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	_tmp277_ = uri;
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (g_strcmp0 (_tmp277_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "string-from-filename") == 0) {
#line 8550 "tracker-sparql-expression.c"
																																		GString* _tmp278_ = NULL;
																																		GString* _tmp279_ = NULL;
																																		GString* _tmp280_ = NULL;
#line 842 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp278_ = sql;
#line 842 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_string_append (_tmp278_, "SparqlStringFromFilename(");
#line 843 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp279_ = sql;
#line 843 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		tracker_sparql_expression_translate_expression_as_string (self, _tmp279_, &_inner_error_);
#line 843 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 843 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 843 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_propagate_error (error, _inner_error_);
#line 843 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 8570 "tracker-sparql-expression.c"
																																			} else {
#line 843 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 843 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_clear_error (&_inner_error_);
#line 843 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 8578 "tracker-sparql-expression.c"
																																			}
																																		}
#line 844 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp280_ = sql;
#line 844 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_string_append (_tmp280_, ")");
#line 846 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		result = TRACKER_PROPERTY_TYPE_STRING;
#line 846 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return result;
#line 8589 "tracker-sparql-expression.c"
																																	} else {
																																		TrackerProperty* prop = NULL;
																																		const gchar* _tmp281_ = NULL;
																																		TrackerProperty* _tmp282_ = NULL;
																																		TrackerProperty* _tmp283_ = NULL;
																																		TrackerProperty* _tmp284_ = NULL;
																																		GString* expr = NULL;
																																		GString* _tmp286_ = NULL;
																																		GString* _tmp287_ = NULL;
																																		gchar* value_separator = NULL;
																																		gchar* _tmp288_ = NULL;
																																		gchar* graph_separator = NULL;
																																		gboolean _tmp289_ = FALSE;
																																		gboolean _tmp290_ = FALSE;
																																		TrackerProperty* _tmp299_ = NULL;
																																		gboolean _tmp300_ = FALSE;
																																		gboolean _tmp301_ = FALSE;
#line 849 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp281_ = uri;
#line 849 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp282_ = tracker_ontologies_get_property_by_uri (_tmp281_);
#line 849 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp283_ = _g_object_ref0 (_tmp282_);
#line 849 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		prop = _tmp283_;
#line 850 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp284_ = prop;
#line 850 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (_tmp284_ == NULL) {
#line 8619 "tracker-sparql-expression.c"
																																			GError* _tmp285_ = NULL;
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp285_ = tracker_sparql_expression_get_error (self, "Unknown function");
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_inner_error_ = _tmp285_;
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_propagate_error (error, _inner_error_);
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_object_unref0 (prop);
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 8633 "tracker-sparql-expression.c"
																																			} else {
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_object_unref0 (prop);
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_clear_error (&_inner_error_);
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 8643 "tracker-sparql-expression.c"
																																			}
																																		}
#line 854 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp286_ = g_string_new ("");
#line 854 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		expr = _tmp286_;
#line 855 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp287_ = expr;
#line 855 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		tracker_sparql_expression_translate_expression (self, _tmp287_, &_inner_error_);
#line 855 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 855 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 855 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_propagate_error (error, _inner_error_);
#line 855 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_string_free0 (expr);
#line 855 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_object_unref0 (prop);
#line 855 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 8666 "tracker-sparql-expression.c"
																																			} else {
#line 855 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_string_free0 (expr);
#line 855 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_object_unref0 (prop);
#line 855 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 855 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_clear_error (&_inner_error_);
#line 855 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 8678 "tracker-sparql-expression.c"
																																			}
																																		}
#line 857 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp288_ = g_strdup (",");
#line 857 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		value_separator = _tmp288_;
#line 858 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		graph_separator = NULL;
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp290_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp289_ = _tmp290_;
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_propagate_error (error, _inner_error_);
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_free0 (graph_separator);
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_free0 (value_separator);
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_string_free0 (expr);
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_object_unref0 (prop);
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 8707 "tracker-sparql-expression.c"
																																			} else {
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_free0 (graph_separator);
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_free0 (value_separator);
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_string_free0 (expr);
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_object_unref0 (prop);
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_clear_error (&_inner_error_);
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 8723 "tracker-sparql-expression.c"
																																			}
																																		}
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (_tmp289_) {
#line 8728 "tracker-sparql-expression.c"
																																			gchar* _tmp291_ = NULL;
																																			gchar* _tmp292_ = NULL;
																																			gchar* _tmp293_ = NULL;
																																			gboolean _tmp294_ = FALSE;
																																			gboolean _tmp295_ = FALSE;
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp292_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp291_ = _tmp292_;
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_propagate_error (error, _inner_error_);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (graph_separator);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (value_separator);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_string_free0 (expr);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_object_unref0 (prop);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					return 0;
#line 8754 "tracker-sparql-expression.c"
																																				} else {
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (graph_separator);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (value_separator);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_string_free0 (expr);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_object_unref0 (prop);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_clear_error (&_inner_error_);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					return 0;
#line 8770 "tracker-sparql-expression.c"
																																				}
																																			}
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp293_ = _tmp291_;
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp291_ = NULL;
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_g_free0 (value_separator);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			value_separator = _tmp293_;
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp295_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp294_ = _tmp295_;
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_propagate_error (error, _inner_error_);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (_tmp291_);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (graph_separator);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (value_separator);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_string_free0 (expr);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_object_unref0 (prop);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					return 0;
#line 8803 "tracker-sparql-expression.c"
																																				} else {
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (_tmp291_);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (graph_separator);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (value_separator);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_string_free0 (expr);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_object_unref0 (prop);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_clear_error (&_inner_error_);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					return 0;
#line 8821 "tracker-sparql-expression.c"
																																				}
																																			}
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (_tmp294_) {
#line 8826 "tracker-sparql-expression.c"
																																				gchar* _tmp296_ = NULL;
																																				gchar* _tmp297_ = NULL;
																																				gchar* _tmp298_ = NULL;
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp297_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp296_ = _tmp297_;
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_propagate_error (error, _inner_error_);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (_tmp291_);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (graph_separator);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (value_separator);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_string_free0 (expr);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_object_unref0 (prop);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						return 0;
#line 8852 "tracker-sparql-expression.c"
																																					} else {
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (_tmp291_);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (graph_separator);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (value_separator);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_string_free0 (expr);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_object_unref0 (prop);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_clear_error (&_inner_error_);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						return 0;
#line 8870 "tracker-sparql-expression.c"
																																					}
																																				}
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp298_ = _tmp296_;
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp296_ = NULL;
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_free0 (graph_separator);
#line 864 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				graph_separator = _tmp298_;
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_free0 (_tmp296_);
#line 8883 "tracker-sparql-expression.c"
																																			}
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_g_free0 (_tmp291_);
#line 8887 "tracker-sparql-expression.c"
																																		}
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp299_ = prop;
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp300_ = tracker_property_get_multiple_values (_tmp299_);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp301_ = _tmp300_;
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (_tmp301_) {
#line 8897 "tracker-sparql-expression.c"
																																			GString* _tmp302_ = NULL;
																																			glong begin = 0L;
																																			GString* _tmp303_ = NULL;
																																			gssize _tmp304_ = 0L;
																																			GString* _tmp305_ = NULL;
																																			TrackerProperty* _tmp306_ = NULL;
																																			const gchar* _tmp307_ = NULL;
																																			const gchar* _tmp308_ = NULL;
																																			GString* _tmp309_ = NULL;
																																			TrackerProperty* _tmp310_ = NULL;
																																			TrackerPropertyType _tmp311_ = 0;
																																			TrackerPropertyType _tmp312_ = 0;
																																			glong _tmp313_ = 0L;
																																			const gchar* _tmp314_ = NULL;
																																			GString* _tmp322_ = NULL;
																																			const gchar* _tmp323_ = NULL;
																																			gchar* _tmp324_ = NULL;
																																			gchar* _tmp325_ = NULL;
																																			GString* _tmp326_ = NULL;
																																			TrackerProperty* _tmp327_ = NULL;
																																			const gchar* _tmp328_ = NULL;
																																			const gchar* _tmp329_ = NULL;
																																			GString* _tmp330_ = NULL;
																																			const gchar* _tmp331_ = NULL;
#line 870 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp302_ = sql;
#line 870 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_string_append (_tmp302_, "(SELECT GROUP_CONCAT(");
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp303_ = sql;
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp304_ = _tmp303_->len;
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			begin = (glong) _tmp304_;
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp305_ = sql;
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp306_ = prop;
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp307_ = tracker_property_get_name (_tmp306_);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp308_ = _tmp307_;
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_string_append_printf (_tmp305_, "\"%s\"", _tmp308_);
#line 873 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp309_ = sql;
#line 873 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp310_ = prop;
#line 873 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp311_ = tracker_property_get_data_type (_tmp310_);
#line 873 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp312_ = _tmp311_;
#line 873 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp313_ = begin;
#line 873 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			tracker_sparql_expression_convert_expression_to_string (_tmp309_, _tmp312_, _tmp313_);
#line 874 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp314_ = graph_separator;
#line 874 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (_tmp314_ != NULL) {
#line 8958 "tracker-sparql-expression.c"
																																				GString* _tmp315_ = NULL;
																																				const gchar* _tmp316_ = NULL;
																																				gchar* _tmp317_ = NULL;
																																				gchar* _tmp318_ = NULL;
																																				TrackerProperty* _tmp319_ = NULL;
																																				const gchar* _tmp320_ = NULL;
																																				const gchar* _tmp321_ = NULL;
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp315_ = sql;
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp316_ = graph_separator;
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp317_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp316_);
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp318_ = _tmp317_;
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp319_ = prop;
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp320_ = tracker_property_get_name (_tmp319_);
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp321_ = _tmp320_;
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_string_append_printf (_tmp315_, " || %s || COALESCE((SELECT Uri FROM Resource WHERE ID = \"%s:graph\")," \
" '')", _tmp318_, _tmp321_);
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_free0 (_tmp318_);
#line 8984 "tracker-sparql-expression.c"
																																			}
#line 877 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp322_ = sql;
#line 877 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp323_ = value_separator;
#line 877 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp324_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp323_);
#line 877 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp325_ = _tmp324_;
#line 877 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_string_append_printf (_tmp322_, ",%s)", _tmp325_);
#line 877 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_g_free0 (_tmp325_);
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp326_ = sql;
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp327_ = prop;
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp328_ = tracker_property_get_table_name (_tmp327_);
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp329_ = _tmp328_;
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp330_ = expr;
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp331_ = _tmp330_->str;
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_string_append_printf (_tmp326_, " FROM \"%s\" WHERE ID = %s)", _tmp329_, _tmp331_);
#line 880 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			result = TRACKER_PROPERTY_TYPE_STRING;
#line 880 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_g_free0 (graph_separator);
#line 880 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_g_free0 (value_separator);
#line 880 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_g_string_free0 (expr);
#line 880 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_g_object_unref0 (prop);
#line 880 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			return result;
#line 9024 "tracker-sparql-expression.c"
																																		} else {
																																			const gchar* _tmp332_ = NULL;
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			_tmp332_ = graph_separator;
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (_tmp332_ == NULL) {
#line 9031 "tracker-sparql-expression.c"
																																				GString* _tmp333_ = NULL;
																																				TrackerProperty* _tmp334_ = NULL;
																																				const gchar* _tmp335_ = NULL;
																																				const gchar* _tmp336_ = NULL;
																																				TrackerProperty* _tmp337_ = NULL;
																																				const gchar* _tmp338_ = NULL;
																																				const gchar* _tmp339_ = NULL;
																																				GString* _tmp340_ = NULL;
																																				const gchar* _tmp341_ = NULL;
																																				TrackerProperty* _tmp342_ = NULL;
																																				TrackerPropertyType _tmp343_ = 0;
																																				TrackerPropertyType _tmp344_ = 0;
																																				TrackerProperty* _tmp346_ = NULL;
																																				TrackerPropertyType _tmp347_ = 0;
																																				TrackerPropertyType _tmp348_ = 0;
#line 884 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp333_ = sql;
#line 884 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp334_ = prop;
#line 884 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp335_ = tracker_property_get_name (_tmp334_);
#line 884 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp336_ = _tmp335_;
#line 884 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp337_ = prop;
#line 884 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp338_ = tracker_property_get_table_name (_tmp337_);
#line 884 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp339_ = _tmp338_;
#line 884 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp340_ = expr;
#line 884 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp341_ = _tmp340_->str;
#line 884 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_string_append_printf (_tmp333_, "(SELECT \"%s\" FROM \"%s\" WHERE ID = %s)", _tmp336_, _tmp339_, _tmp341_);
#line 886 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp342_ = prop;
#line 886 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp343_ = tracker_property_get_data_type (_tmp342_);
#line 886 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp344_ = _tmp343_;
#line 886 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				if (_tmp344_ == TRACKER_PROPERTY_TYPE_STRING) {
#line 9075 "tracker-sparql-expression.c"
																																					GString* _tmp345_ = NULL;
#line 887 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp345_ = sql;
#line 887 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					tracker_sparql_expression_append_collate (self, _tmp345_);
#line 9081 "tracker-sparql-expression.c"
																																				}
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp346_ = prop;
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp347_ = tracker_property_get_data_type (_tmp346_);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp348_ = _tmp347_;
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				result = _tmp348_;
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_free0 (graph_separator);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_free0 (value_separator);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_string_free0 (expr);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_object_unref0 (prop);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return result;
#line 9101 "tracker-sparql-expression.c"
																																			} else {
																																				GString* _tmp349_ = NULL;
																																				glong begin = 0L;
																																				GString* _tmp350_ = NULL;
																																				gssize _tmp351_ = 0L;
																																				GString* _tmp352_ = NULL;
																																				TrackerProperty* _tmp353_ = NULL;
																																				const gchar* _tmp354_ = NULL;
																																				const gchar* _tmp355_ = NULL;
																																				GString* _tmp356_ = NULL;
																																				TrackerProperty* _tmp357_ = NULL;
																																				TrackerPropertyType _tmp358_ = 0;
																																				TrackerPropertyType _tmp359_ = 0;
																																				glong _tmp360_ = 0L;
																																				GString* _tmp361_ = NULL;
																																				const gchar* _tmp362_ = NULL;
																																				gchar* _tmp363_ = NULL;
																																				gchar* _tmp364_ = NULL;
																																				TrackerProperty* _tmp365_ = NULL;
																																				const gchar* _tmp366_ = NULL;
																																				const gchar* _tmp367_ = NULL;
																																				GString* _tmp368_ = NULL;
																																				TrackerProperty* _tmp369_ = NULL;
																																				const gchar* _tmp370_ = NULL;
																																				const gchar* _tmp371_ = NULL;
																																				GString* _tmp372_ = NULL;
																																				const gchar* _tmp373_ = NULL;
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp349_ = sql;
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_string_append (_tmp349_, "(SELECT ");
#line 893 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp350_ = sql;
#line 893 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp351_ = _tmp350_->len;
#line 893 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				begin = (glong) _tmp351_;
#line 894 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp352_ = sql;
#line 894 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp353_ = prop;
#line 894 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp354_ = tracker_property_get_name (_tmp353_);
#line 894 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp355_ = _tmp354_;
#line 894 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_string_append_printf (_tmp352_, "\"%s\"", _tmp355_);
#line 895 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp356_ = sql;
#line 895 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp357_ = prop;
#line 895 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp358_ = tracker_property_get_data_type (_tmp357_);
#line 895 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp359_ = _tmp358_;
#line 895 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp360_ = begin;
#line 895 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				tracker_sparql_expression_convert_expression_to_string (_tmp356_, _tmp359_, _tmp360_);
#line 896 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp361_ = sql;
#line 896 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp362_ = graph_separator;
#line 896 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp363_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp362_);
#line 896 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp364_ = _tmp363_;
#line 896 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp365_ = prop;
#line 896 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp366_ = tracker_property_get_name (_tmp365_);
#line 896 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp367_ = _tmp366_;
#line 896 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_string_append_printf (_tmp361_, " || %s || COALESCE((SELECT Uri FROM Resource WHERE ID = \"%s:graph\")," \
" '')", _tmp364_, _tmp367_);
#line 896 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_free0 (_tmp364_);
#line 897 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp368_ = sql;
#line 897 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp369_ = prop;
#line 897 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp370_ = tracker_property_get_table_name (_tmp369_);
#line 897 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp371_ = _tmp370_;
#line 897 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp372_ = expr;
#line 897 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp373_ = _tmp372_->str;
#line 897 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_string_append_printf (_tmp368_, " FROM \"%s\" WHERE ID = %s)", _tmp371_, _tmp373_);
#line 899 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				result = TRACKER_PROPERTY_TYPE_STRING;
#line 899 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_free0 (graph_separator);
#line 899 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_free0 (value_separator);
#line 899 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_string_free0 (expr);
#line 899 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_object_unref0 (prop);
#line 899 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return result;
#line 9205 "tracker-sparql-expression.c"
																																			}
																																		}
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_g_free0 (graph_separator);
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_g_free0 (value_separator);
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_g_string_free0 (expr);
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_g_object_unref0 (prop);
#line 9216 "tracker-sparql-expression.c"
																																	}
																																}
																															}
																														}
																													}
																												}
																											}
																										}
																									}
																								}
																							}
																						}
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
}


static TrackerPropertyType tracker_sparql_expression_parse_type_uri (TrackerSparqlExpression* self, GError** error) {
	TrackerPropertyType result = 0;
	gchar* type_iri = NULL;
	TrackerPropertyType type = 0;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	const gchar* _tmp25_ = NULL;
	GError * _inner_error_ = NULL;
#line 905 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 909 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_IRI_REF, &_inner_error_);
#line 909 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = _tmp1_;
#line 909 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 909 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 909 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 909 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (type_iri);
#line 909 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 9277 "tracker-sparql-expression.c"
		} else {
#line 909 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (type_iri);
#line 909 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 909 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 909 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 9287 "tracker-sparql-expression.c"
		}
	}
#line 909 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 9292 "tracker-sparql-expression.c"
		gchar* _tmp2_ = NULL;
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = tracker_sparql_expression_get_last_string (self, 1);
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (type_iri);
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		type_iri = _tmp2_;
#line 9300 "tracker-sparql-expression.c"
	} else {
		gboolean _tmp3_ = FALSE;
		gboolean _tmp4_ = FALSE;
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX, &_inner_error_);
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = _tmp4_;
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (type_iri);
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 9318 "tracker-sparql-expression.c"
			} else {
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (type_iri);
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 9328 "tracker-sparql-expression.c"
			}
		}
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp3_) {
#line 9333 "tracker-sparql-expression.c"
			gchar* ns = NULL;
			gchar* _tmp5_ = NULL;
			gchar* _tmp6_ = NULL;
			TrackerSparqlQuery* _tmp7_ = NULL;
			const gchar* _tmp8_ = NULL;
			gchar* _tmp9_ = NULL;
			gchar* _tmp10_ = NULL;
			gchar* _tmp11_ = NULL;
			gchar* _tmp12_ = NULL;
			gchar* _tmp13_ = NULL;
			gchar* _tmp14_ = NULL;
			gchar* _tmp15_ = NULL;
#line 912 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = tracker_sparql_expression_get_last_string (self, 0);
#line 912 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			ns = _tmp5_;
#line 913 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COLON, &_inner_error_);
#line 913 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 913 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 913 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 913 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 913 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 913 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9364 "tracker-sparql-expression.c"
				} else {
#line 913 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 913 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 913 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 913 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 913 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9376 "tracker-sparql-expression.c"
				}
			}
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = self->priv->query;
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp8_ = ns;
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp9_ = tracker_sparql_expression_get_last_string (self, 0);
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = _tmp9_;
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp11_ = string_substring (_tmp10_, (glong) 1, (glong) -1);
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp12_ = _tmp11_;
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp13_ = tracker_sparql_query_resolve_prefixed_name (_tmp7_, _tmp8_, _tmp12_, &_inner_error_);
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp14_ = _tmp13_;
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp12_);
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp10_);
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = _tmp14_;
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9413 "tracker-sparql-expression.c"
				} else {
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9425 "tracker-sparql-expression.c"
				}
			}
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp15_ = _tmp6_;
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = NULL;
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (type_iri);
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type_iri = _tmp15_;
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp6_);
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (ns);
#line 9440 "tracker-sparql-expression.c"
		} else {
			gchar* _tmp16_ = NULL;
			TrackerSparqlQuery* _tmp17_ = NULL;
			gchar* _tmp18_ = NULL;
			gchar* _tmp19_ = NULL;
			gchar* _tmp20_ = NULL;
			gchar* _tmp21_ = NULL;
			gchar* _tmp22_ = NULL;
			gchar* _tmp23_ = NULL;
			gchar* _tmp24_ = NULL;
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COLON, &_inner_error_);
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9463 "tracker-sparql-expression.c"
				} else {
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9473 "tracker-sparql-expression.c"
				}
			}
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp17_ = self->priv->query;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp18_ = tracker_sparql_expression_get_last_string (self, 0);
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp19_ = _tmp18_;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp20_ = string_substring (_tmp19_, (glong) 1, (glong) -1);
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp21_ = _tmp20_;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp22_ = tracker_sparql_query_resolve_prefixed_name (_tmp17_, "", _tmp21_, &_inner_error_);
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp23_ = _tmp22_;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp21_);
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp19_);
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp16_ = _tmp23_;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9506 "tracker-sparql-expression.c"
				} else {
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9516 "tracker-sparql-expression.c"
				}
			}
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp24_ = _tmp16_;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp16_ = NULL;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (type_iri);
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type_iri = _tmp24_;
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp16_);
#line 9529 "tracker-sparql-expression.c"
		}
	}
#line 920 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp25_ = type_iri;
#line 920 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (g_strcmp0 (_tmp25_, TRACKER_SPARQL_EXPRESSION_XSD_NS "boolean") == 0) {
#line 921 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		type = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 9538 "tracker-sparql-expression.c"
	} else {
		gboolean _tmp26_ = FALSE;
		gboolean _tmp27_ = FALSE;
		gboolean _tmp28_ = FALSE;
		gboolean _tmp29_ = FALSE;
		gboolean _tmp30_ = FALSE;
		gboolean _tmp31_ = FALSE;
		gboolean _tmp32_ = FALSE;
		gboolean _tmp33_ = FALSE;
		gboolean _tmp34_ = FALSE;
		gboolean _tmp35_ = FALSE;
		gboolean _tmp36_ = FALSE;
		gboolean _tmp37_ = FALSE;
		const gchar* _tmp38_ = NULL;
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp38_ = type_iri;
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (g_strcmp0 (_tmp38_, TRACKER_SPARQL_EXPRESSION_XSD_NS "integer") == 0) {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp37_ = TRUE;
#line 9559 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp39_ = NULL;
#line 923 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp39_ = type_iri;
#line 923 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp37_ = g_strcmp0 (_tmp39_, TRACKER_SPARQL_EXPRESSION_XSD_NS "nonPositiveInteger") == 0;
#line 9566 "tracker-sparql-expression.c"
		}
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp37_) {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp36_ = TRUE;
#line 9572 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp40_ = NULL;
#line 924 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp40_ = type_iri;
#line 924 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp36_ = g_strcmp0 (_tmp40_, TRACKER_SPARQL_EXPRESSION_XSD_NS "negativeInteger") == 0;
#line 9579 "tracker-sparql-expression.c"
		}
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp36_) {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp35_ = TRUE;
#line 9585 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp41_ = NULL;
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp41_ = type_iri;
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp35_ = g_strcmp0 (_tmp41_, TRACKER_SPARQL_EXPRESSION_XSD_NS "long") == 0;
#line 9592 "tracker-sparql-expression.c"
		}
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp35_) {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp34_ = TRUE;
#line 9598 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp42_ = NULL;
#line 926 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp42_ = type_iri;
#line 926 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp34_ = g_strcmp0 (_tmp42_, TRACKER_SPARQL_EXPRESSION_XSD_NS "int") == 0;
#line 9605 "tracker-sparql-expression.c"
		}
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp34_) {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp33_ = TRUE;
#line 9611 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp43_ = NULL;
#line 927 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp43_ = type_iri;
#line 927 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp33_ = g_strcmp0 (_tmp43_, TRACKER_SPARQL_EXPRESSION_XSD_NS "short") == 0;
#line 9618 "tracker-sparql-expression.c"
		}
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp33_) {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp32_ = TRUE;
#line 9624 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp44_ = NULL;
#line 928 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp44_ = type_iri;
#line 928 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp32_ = g_strcmp0 (_tmp44_, TRACKER_SPARQL_EXPRESSION_XSD_NS "byte") == 0;
#line 9631 "tracker-sparql-expression.c"
		}
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp32_) {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp31_ = TRUE;
#line 9637 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp45_ = NULL;
#line 929 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp45_ = type_iri;
#line 929 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp31_ = g_strcmp0 (_tmp45_, TRACKER_SPARQL_EXPRESSION_XSD_NS "nonNegativeInteger") == 0;
#line 9644 "tracker-sparql-expression.c"
		}
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp31_) {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp30_ = TRUE;
#line 9650 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp46_ = NULL;
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp46_ = type_iri;
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp30_ = g_strcmp0 (_tmp46_, TRACKER_SPARQL_EXPRESSION_XSD_NS "unsignedLong") == 0;
#line 9657 "tracker-sparql-expression.c"
		}
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp30_) {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp29_ = TRUE;
#line 9663 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp47_ = NULL;
#line 931 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp47_ = type_iri;
#line 931 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp29_ = g_strcmp0 (_tmp47_, TRACKER_SPARQL_EXPRESSION_XSD_NS "unsignedInt") == 0;
#line 9670 "tracker-sparql-expression.c"
		}
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp29_) {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp28_ = TRUE;
#line 9676 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp48_ = NULL;
#line 932 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp48_ = type_iri;
#line 932 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp28_ = g_strcmp0 (_tmp48_, TRACKER_SPARQL_EXPRESSION_XSD_NS "unsignedShort") == 0;
#line 9683 "tracker-sparql-expression.c"
		}
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp28_) {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp27_ = TRUE;
#line 9689 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp49_ = NULL;
#line 933 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp49_ = type_iri;
#line 933 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp27_ = g_strcmp0 (_tmp49_, TRACKER_SPARQL_EXPRESSION_XSD_NS "unsignedByte") == 0;
#line 9696 "tracker-sparql-expression.c"
		}
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp27_) {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp26_ = TRUE;
#line 9702 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp50_ = NULL;
#line 934 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp50_ = type_iri;
#line 934 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp26_ = g_strcmp0 (_tmp50_, TRACKER_SPARQL_EXPRESSION_XSD_NS "positiveInteger") == 0;
#line 9709 "tracker-sparql-expression.c"
		}
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp26_) {
#line 935 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = TRACKER_PROPERTY_TYPE_INTEGER;
#line 9715 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp51_ = NULL;
#line 936 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp51_ = type_iri;
#line 936 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (g_strcmp0 (_tmp51_, TRACKER_SPARQL_EXPRESSION_XSD_NS "double") == 0) {
#line 937 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				type = TRACKER_PROPERTY_TYPE_DOUBLE;
#line 9724 "tracker-sparql-expression.c"
			} else {
				const gchar* _tmp52_ = NULL;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp52_ = type_iri;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (g_strcmp0 (_tmp52_, TRACKER_SPARQL_EXPRESSION_XSD_NS "date") == 0) {
#line 939 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					type = TRACKER_PROPERTY_TYPE_DATE;
#line 9733 "tracker-sparql-expression.c"
				} else {
					const gchar* _tmp53_ = NULL;
#line 940 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp53_ = type_iri;
#line 940 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (g_strcmp0 (_tmp53_, TRACKER_SPARQL_EXPRESSION_XSD_NS "dateTime") == 0) {
#line 941 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						type = TRACKER_PROPERTY_TYPE_DATETIME;
#line 9742 "tracker-sparql-expression.c"
					} else {
#line 943 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						type = TRACKER_PROPERTY_TYPE_STRING;
#line 9746 "tracker-sparql-expression.c"
					}
				}
			}
		}
	}
#line 946 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = type;
#line 946 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_free0 (type_iri);
#line 946 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 9758 "tracker-sparql-expression.c"
}


gchar* tracker_sparql_expression_parse_string_literal (TrackerSparqlExpression* self, TrackerPropertyType* type, GError** error) {
	TrackerPropertyType _vala_type = 0;
	gchar* result = NULL;
	TrackerSparqlTokenType _tmp0_ = 0;
	GError * _inner_error_ = NULL;
#line 949 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 950 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_vala_type = TRACKER_PROPERTY_TYPE_STRING;
#line 952 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_next (self, &_inner_error_);
#line 952 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 952 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 952 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 952 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return NULL;
#line 9781 "tracker-sparql-expression.c"
		} else {
#line 952 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 952 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 952 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return NULL;
#line 9789 "tracker-sparql-expression.c"
		}
	}
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_last (self);
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	switch (_tmp0_) {
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL1:
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL2:
#line 9800 "tracker-sparql-expression.c"
		{
			GString* sb = NULL;
			GString* _tmp1_ = NULL;
			gchar* s = NULL;
			gchar* _tmp2_ = NULL;
			const gchar* p = NULL;
			const gchar* _tmp3_ = NULL;
			const gchar* end = NULL;
			const gchar* _tmp4_ = NULL;
			const gchar* _tmp5_ = NULL;
			gint _tmp6_ = 0;
			gint _tmp7_ = 0;
			gboolean _tmp50_ = FALSE;
			gboolean _tmp51_ = FALSE;
			GString* _tmp54_ = NULL;
			const gchar* _tmp55_ = NULL;
			gchar* _tmp56_ = NULL;
#line 956 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp1_ = g_string_new ("");
#line 956 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			sb = _tmp1_;
#line 958 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = tracker_sparql_expression_get_last_string (self, 1);
#line 958 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			s = _tmp2_;
#line 959 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp3_ = s;
#line 959 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			p = _tmp3_;
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp4_ = p;
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = s;
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = strlen (_tmp5_);
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = _tmp6_;
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			end = _tmp4_ + _tmp7_;
#line 961 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			while (TRUE) {
#line 9842 "tracker-sparql-expression.c"
				const gchar* _tmp8_ = NULL;
				const gchar* _tmp9_ = NULL;
				const gchar* q = NULL;
				const gchar* _tmp10_ = NULL;
				const gchar* _tmp11_ = NULL;
				const gchar* _tmp12_ = NULL;
#line 961 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp8_ = p;
#line 961 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp9_ = end;
#line 961 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (!(((glong) _tmp8_) < ((glong) _tmp9_))) {
#line 961 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					break;
#line 9857 "tracker-sparql-expression.c"
				}
#line 962 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp10_ = p;
#line 962 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp11_ = strchr (_tmp10_, (gint) '\\');
#line 962 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				q = _tmp11_;
#line 963 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp12_ = q;
#line 963 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_tmp12_ == NULL) {
#line 9869 "tracker-sparql-expression.c"
					GString* _tmp13_ = NULL;
					const gchar* _tmp14_ = NULL;
					const gchar* _tmp15_ = NULL;
					const gchar* _tmp16_ = NULL;
					const gchar* _tmp17_ = NULL;
#line 964 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp13_ = sb;
#line 964 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp14_ = p;
#line 964 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp15_ = end;
#line 964 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp16_ = p;
#line 964 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_string_append_len (_tmp13_, _tmp14_, (gssize) ((glong) (_tmp15_ - _tmp16_)));
#line 965 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp17_ = end;
#line 965 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					p = _tmp17_;
#line 9889 "tracker-sparql-expression.c"
				} else {
					GString* _tmp18_ = NULL;
					const gchar* _tmp19_ = NULL;
					const gchar* _tmp20_ = NULL;
					const gchar* _tmp21_ = NULL;
					const gchar* _tmp22_ = NULL;
					const gchar* _tmp23_ = NULL;
					gchar _tmp24_ = '\0';
					const gchar* _tmp49_ = NULL;
#line 967 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp18_ = sb;
#line 967 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp19_ = p;
#line 967 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp20_ = q;
#line 967 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp21_ = p;
#line 967 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_string_append_len (_tmp18_, _tmp19_, (gssize) ((glong) (_tmp20_ - _tmp21_)));
#line 968 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp22_ = q;
#line 968 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					p = _tmp22_ + 1;
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp23_ = p;
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp24_ = ((gchar*) _tmp23_)[0];
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					switch (_tmp24_) {
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case '\'':
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case '"':
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case '\\':
#line 9925 "tracker-sparql-expression.c"
						{
							GString* _tmp25_ = NULL;
							const gchar* _tmp26_ = NULL;
							gchar _tmp27_ = '\0';
#line 973 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp25_ = sb;
#line 973 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp26_ = p;
#line 973 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp27_ = ((gchar*) _tmp26_)[0];
#line 973 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_c (_tmp25_, _tmp27_);
#line 974 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							break;
#line 9940 "tracker-sparql-expression.c"
						}
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case 'b':
#line 9944 "tracker-sparql-expression.c"
						{
							GString* _tmp28_ = NULL;
#line 976 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp28_ = sb;
#line 976 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_c (_tmp28_, '\b');
#line 977 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							break;
#line 9953 "tracker-sparql-expression.c"
						}
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case 'f':
#line 9957 "tracker-sparql-expression.c"
						{
							GString* _tmp29_ = NULL;
#line 979 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp29_ = sb;
#line 979 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_c (_tmp29_, '\f');
#line 980 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							break;
#line 9966 "tracker-sparql-expression.c"
						}
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case 'n':
#line 9970 "tracker-sparql-expression.c"
						{
							GString* _tmp30_ = NULL;
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp30_ = sb;
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_c (_tmp30_, '\n');
#line 983 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							break;
#line 9979 "tracker-sparql-expression.c"
						}
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case 'r':
#line 9983 "tracker-sparql-expression.c"
						{
							GString* _tmp31_ = NULL;
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp31_ = sb;
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_c (_tmp31_, '\r');
#line 986 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							break;
#line 9992 "tracker-sparql-expression.c"
						}
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case 't':
#line 9996 "tracker-sparql-expression.c"
						{
							GString* _tmp32_ = NULL;
#line 988 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp32_ = sb;
#line 988 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_c (_tmp32_, '\t');
#line 989 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							break;
#line 10005 "tracker-sparql-expression.c"
						}
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case 'u':
#line 10009 "tracker-sparql-expression.c"
						{
							gchar* ptr = NULL;
							const gchar* _tmp33_ = NULL;
							gunichar c = 0U;
							gchar* _tmp34_ = NULL;
							gchar _tmp35_ = '\0';
							gint _tmp36_ = 0;
							gchar* _tmp37_ = NULL;
							gchar _tmp38_ = '\0';
							gint _tmp39_ = 0;
							gchar* _tmp40_ = NULL;
							gchar _tmp41_ = '\0';
							gint _tmp42_ = 0;
							gchar* _tmp43_ = NULL;
							gchar _tmp44_ = '\0';
							gint _tmp45_ = 0;
							GString* _tmp46_ = NULL;
							gunichar _tmp47_ = 0U;
							const gchar* _tmp48_ = NULL;
#line 991 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp33_ = p;
#line 991 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							ptr = ((gchar*) _tmp33_) + 1;
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp34_ = ptr;
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp35_ = _tmp34_[0];
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp36_ = g_ascii_xdigit_value (_tmp35_);
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp37_ = ptr;
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp38_ = _tmp37_[1];
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp39_ = g_ascii_xdigit_value (_tmp38_);
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp40_ = ptr;
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp41_ = _tmp40_[2];
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp42_ = g_ascii_xdigit_value (_tmp41_);
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp43_ = ptr;
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp44_ = _tmp43_[3];
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp45_ = g_ascii_xdigit_value (_tmp44_);
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							c = (((((((gunichar) _tmp36_) * 16) + _tmp39_) * 16) + _tmp42_) * 16) + _tmp45_;
#line 993 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp46_ = sb;
#line 993 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp47_ = c;
#line 993 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_unichar (_tmp46_, _tmp47_);
#line 994 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp48_ = p;
#line 994 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							p = _tmp48_ + 4;
#line 995 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							break;
#line 10071 "tracker-sparql-expression.c"
						}
						default:
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						break;
#line 10076 "tracker-sparql-expression.c"
					}
#line 997 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp49_ = p;
#line 997 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					p = _tmp49_ + 1;
#line 10082 "tracker-sparql-expression.c"
				}
			}
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp51_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DOUBLE_CIRCUMFLEX, &_inner_error_);
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp50_ = _tmp51_;
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (s);
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_string_free0 (sb);
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return NULL;
#line 10101 "tracker-sparql-expression.c"
				} else {
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (s);
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_string_free0 (sb);
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return NULL;
#line 10113 "tracker-sparql-expression.c"
				}
			}
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp50_) {
#line 10118 "tracker-sparql-expression.c"
				TrackerPropertyType _tmp52_ = 0;
				TrackerPropertyType _tmp53_ = 0;
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp53_ = tracker_sparql_expression_parse_type_uri (self, &_inner_error_);
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp52_ = _tmp53_;
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (s);
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_string_free0 (sb);
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return NULL;
#line 10137 "tracker-sparql-expression.c"
					} else {
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (s);
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_string_free0 (sb);
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return NULL;
#line 10149 "tracker-sparql-expression.c"
					}
				}
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_vala_type = _tmp52_;
#line 10154 "tracker-sparql-expression.c"
			}
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp54_ = sb;
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp55_ = _tmp54_->str;
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp56_ = g_strdup (_tmp55_);
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp56_;
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (s);
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_string_free0 (sb);
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (type) {
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				*type = _vala_type;
#line 10172 "tracker-sparql-expression.c"
			}
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10176 "tracker-sparql-expression.c"
		}
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG1:
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG2:
#line 10182 "tracker-sparql-expression.c"
		{
			gchar* _result_ = NULL;
			gchar* _tmp57_ = NULL;
			gboolean _tmp58_ = FALSE;
			gboolean _tmp59_ = FALSE;
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp57_ = tracker_sparql_expression_get_last_string (self, 3);
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp57_;
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp59_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DOUBLE_CIRCUMFLEX, &_inner_error_);
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp58_ = _tmp59_;
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (_result_);
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return NULL;
#line 10206 "tracker-sparql-expression.c"
				} else {
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (_result_);
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return NULL;
#line 10216 "tracker-sparql-expression.c"
				}
			}
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp58_) {
#line 10221 "tracker-sparql-expression.c"
				TrackerPropertyType _tmp60_ = 0;
				TrackerPropertyType _tmp61_ = 0;
#line 1013 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp61_ = tracker_sparql_expression_parse_type_uri (self, &_inner_error_);
#line 1013 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp60_ = _tmp61_;
#line 1013 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1013 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1013 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1013 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_result_);
#line 1013 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return NULL;
#line 10238 "tracker-sparql-expression.c"
					} else {
#line 1013 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_result_);
#line 1013 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1013 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1013 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return NULL;
#line 10248 "tracker-sparql-expression.c"
					}
				}
#line 1013 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_vala_type = _tmp60_;
#line 10253 "tracker-sparql-expression.c"
			}
#line 1016 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1016 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (type) {
#line 1016 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				*type = _vala_type;
#line 10261 "tracker-sparql-expression.c"
			}
#line 1016 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10265 "tracker-sparql-expression.c"
		}
		default:
		{
			GError* _tmp62_ = NULL;
#line 1018 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp62_ = tracker_sparql_expression_get_error (self, "expected string literal");
#line 1018 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp62_;
#line 1018 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1018 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1018 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return NULL;
#line 10280 "tracker-sparql-expression.c"
			} else {
#line 1018 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1018 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1018 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return NULL;
#line 10288 "tracker-sparql-expression.c"
			}
		}
	}
#line 949 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (type) {
#line 949 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*type = _vala_type;
#line 10296 "tracker-sparql-expression.c"
	}
}


static TrackerPropertyType tracker_sparql_expression_translate_uri_expression (TrackerSparqlExpression* self, GString* sql, const gchar* uri, GError** error) {
	TrackerPropertyType result = 0;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GError * _inner_error_ = NULL;
#line 1022 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1022 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1022 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (uri != NULL, 0);
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = _tmp1_;
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 10324 "tracker-sparql-expression.c"
		} else {
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 10332 "tracker-sparql-expression.c"
		}
	}
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 10337 "tracker-sparql-expression.c"
		TrackerPropertyType _result_ = 0;
		GString* _tmp2_ = NULL;
		const gchar* _tmp3_ = NULL;
		TrackerPropertyType _tmp4_ = 0;
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = sql;
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = uri;
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = tracker_sparql_expression_translate_function (self, _tmp2_, _tmp3_, &_inner_error_);
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_result_ = _tmp4_;
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 10358 "tracker-sparql-expression.c"
			} else {
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 10366 "tracker-sparql-expression.c"
			}
		}
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 10379 "tracker-sparql-expression.c"
			} else {
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 10387 "tracker-sparql-expression.c"
			}
		}
#line 1027 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		result = _result_;
#line 1027 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		return result;
#line 10394 "tracker-sparql-expression.c"
	} else {
		GString* _tmp5_ = NULL;
		TrackerSparqlLiteralBinding* binding = NULL;
		TrackerSparqlLiteralBinding* _tmp6_ = NULL;
		TrackerSparqlLiteralBinding* _tmp7_ = NULL;
		const gchar* _tmp8_ = NULL;
		gchar* _tmp9_ = NULL;
		TrackerSparqlQuery* _tmp10_ = NULL;
		TrackerSparqlLiteralBinding* _tmp11_ = NULL;
		TrackerSparqlLiteralBinding* _tmp12_ = NULL;
#line 1030 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = sql;
#line 1030 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp5_, "COALESCE((SELECT ID FROM Resource WHERE Uri = ?), 0)");
#line 1031 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = tracker_sparql_literal_binding_new ();
#line 1031 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		binding = _tmp6_;
#line 1032 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = binding;
#line 1032 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = uri;
#line 1032 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = g_strdup (_tmp8_);
#line 1032 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp7_->literal);
#line 1032 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_->literal = _tmp9_;
#line 1033 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_ = self->priv->query;
#line 1033 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = binding;
#line 1033 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp12_ = _g_object_ref0 (_tmp11_);
#line 1033 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_->bindings = g_list_append (_tmp10_->bindings, _tmp12_);
#line 1034 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		result = TRACKER_PROPERTY_TYPE_RESOURCE;
#line 1034 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_object_unref0 (binding);
#line 1034 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		return result;
#line 10437 "tracker-sparql-expression.c"
	}
}


static TrackerPropertyType tracker_sparql_expression_translate_primary_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerPropertyType result = 0;
	TrackerPropertyType type = 0;
	TrackerSparqlTokenType _tmp0_ = 0;
	GError * _inner_error_ = NULL;
#line 1038 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1038 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_current (self);
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	switch (_tmp0_) {
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS:
#line 10457 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp1_ = 0;
			GString* _tmp2_ = NULL;
			TrackerPropertyType _tmp3_ = 0;
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = sql;
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp3_ = tracker_sparql_expression_translate_bracketted_expression (self, _tmp2_, &_inner_error_);
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp1_ = _tmp3_;
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10476 "tracker-sparql-expression.c"
				} else {
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10484 "tracker-sparql-expression.c"
				}
			}
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp1_;
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10491 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_IRI_REF:
#line 10495 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp4_ = 0;
			GString* _tmp5_ = NULL;
			gchar* _tmp6_ = NULL;
			gchar* _tmp7_ = NULL;
			TrackerPropertyType _tmp8_ = 0;
			TrackerPropertyType _tmp9_ = 0;
#line 1045 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1045 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1045 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1045 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1045 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10513 "tracker-sparql-expression.c"
				} else {
#line 1045 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1045 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1045 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10521 "tracker-sparql-expression.c"
				}
			}
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = sql;
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = tracker_sparql_expression_get_last_string (self, 1);
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = _tmp6_;
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp8_ = tracker_sparql_expression_translate_uri_expression (self, _tmp5_, _tmp7_, &_inner_error_);
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp9_ = _tmp8_;
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp7_);
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp4_ = _tmp9_;
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10546 "tracker-sparql-expression.c"
				} else {
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10554 "tracker-sparql-expression.c"
				}
			}
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp4_;
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10561 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_DECIMAL:
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_DOUBLE:
#line 10567 "tracker-sparql-expression.c"
		{
			TrackerSparqlQuery* _tmp10_ = NULL;
			gboolean _tmp11_ = FALSE;
			gboolean _tmp12_ = FALSE;
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10582 "tracker-sparql-expression.c"
				} else {
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10590 "tracker-sparql-expression.c"
				}
			}
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = self->priv->query;
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp11_ = tracker_sparql_query_get_no_cache (_tmp10_);
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp12_ = _tmp11_;
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp12_) {
#line 10601 "tracker-sparql-expression.c"
				GString* _tmp13_ = NULL;
				gchar* _tmp14_ = NULL;
				gchar* _tmp15_ = NULL;
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp13_ = sql;
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp14_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp15_ = _tmp14_;
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp13_, _tmp15_);
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp15_);
#line 10615 "tracker-sparql-expression.c"
			} else {
				GString* _tmp16_ = NULL;
				TrackerSparqlLiteralBinding* binding = NULL;
				TrackerSparqlLiteralBinding* _tmp17_ = NULL;
				TrackerSparqlLiteralBinding* _tmp18_ = NULL;
				gchar* _tmp19_ = NULL;
				TrackerSparqlQuery* _tmp20_ = NULL;
				TrackerSparqlLiteralBinding* _tmp21_ = NULL;
				TrackerSparqlLiteralBinding* _tmp22_ = NULL;
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp16_ = sql;
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp16_, "?");
#line 1056 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp17_ = tracker_sparql_literal_binding_new ();
#line 1056 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				binding = _tmp17_;
#line 1057 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp18_ = binding;
#line 1057 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp19_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1057 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp18_->literal);
#line 1057 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp18_->literal = _tmp19_;
#line 1058 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp20_ = self->priv->query;
#line 1058 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp21_ = binding;
#line 1058 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp22_ = _g_object_ref0 (_tmp21_);
#line 1058 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp20_->bindings = g_list_append (_tmp20_->bindings, _tmp22_);
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (binding);
#line 10651 "tracker-sparql-expression.c"
			}
#line 1061 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_DOUBLE;
#line 1061 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10657 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_TRUE:
#line 10661 "tracker-sparql-expression.c"
		{
			TrackerSparqlQuery* _tmp23_ = NULL;
			gboolean _tmp24_ = FALSE;
			gboolean _tmp25_ = FALSE;
#line 1063 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1063 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1063 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1063 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1063 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10676 "tracker-sparql-expression.c"
				} else {
#line 1063 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1063 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1063 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10684 "tracker-sparql-expression.c"
				}
			}
#line 1065 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp23_ = self->priv->query;
#line 1065 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp24_ = tracker_sparql_query_get_no_cache (_tmp23_);
#line 1065 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp25_ = _tmp24_;
#line 1065 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp25_) {
#line 10695 "tracker-sparql-expression.c"
				GString* _tmp26_ = NULL;
#line 1066 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp26_ = sql;
#line 1066 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp26_, "1");
#line 10701 "tracker-sparql-expression.c"
			} else {
				GString* _tmp27_ = NULL;
				TrackerSparqlLiteralBinding* binding = NULL;
				TrackerSparqlLiteralBinding* _tmp28_ = NULL;
				TrackerSparqlLiteralBinding* _tmp29_ = NULL;
				gchar* _tmp30_ = NULL;
				TrackerSparqlLiteralBinding* _tmp31_ = NULL;
				TrackerSparqlQuery* _tmp32_ = NULL;
				TrackerSparqlLiteralBinding* _tmp33_ = NULL;
				TrackerSparqlLiteralBinding* _tmp34_ = NULL;
#line 1068 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp27_ = sql;
#line 1068 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp27_, "?");
#line 1070 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp28_ = tracker_sparql_literal_binding_new ();
#line 1070 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				binding = _tmp28_;
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp29_ = binding;
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp30_ = g_strdup ("1");
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp29_->literal);
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp29_->literal = _tmp30_;
#line 1072 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp31_ = binding;
#line 1072 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				((TrackerSparqlDataBinding*) _tmp31_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
#line 1073 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp32_ = self->priv->query;
#line 1073 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp33_ = binding;
#line 1073 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp34_ = _g_object_ref0 (_tmp33_);
#line 1073 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp32_->bindings = g_list_append (_tmp32_->bindings, _tmp34_);
#line 1065 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (binding);
#line 10742 "tracker-sparql-expression.c"
			}
#line 1076 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1076 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10748 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_FALSE:
#line 10752 "tracker-sparql-expression.c"
		{
			TrackerSparqlQuery* _tmp35_ = NULL;
			gboolean _tmp36_ = FALSE;
			gboolean _tmp37_ = FALSE;
#line 1078 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1078 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1078 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1078 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1078 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10767 "tracker-sparql-expression.c"
				} else {
#line 1078 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1078 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1078 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10775 "tracker-sparql-expression.c"
				}
			}
#line 1080 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp35_ = self->priv->query;
#line 1080 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp36_ = tracker_sparql_query_get_no_cache (_tmp35_);
#line 1080 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp37_ = _tmp36_;
#line 1080 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp37_) {
#line 10786 "tracker-sparql-expression.c"
				GString* _tmp38_ = NULL;
#line 1081 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp38_ = sql;
#line 1081 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp38_, "0");
#line 10792 "tracker-sparql-expression.c"
			} else {
				GString* _tmp39_ = NULL;
				TrackerSparqlLiteralBinding* binding = NULL;
				TrackerSparqlLiteralBinding* _tmp40_ = NULL;
				TrackerSparqlLiteralBinding* _tmp41_ = NULL;
				gchar* _tmp42_ = NULL;
				TrackerSparqlLiteralBinding* _tmp43_ = NULL;
				TrackerSparqlQuery* _tmp44_ = NULL;
				TrackerSparqlLiteralBinding* _tmp45_ = NULL;
				TrackerSparqlLiteralBinding* _tmp46_ = NULL;
#line 1083 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp39_ = sql;
#line 1083 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp39_, "?");
#line 1085 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp40_ = tracker_sparql_literal_binding_new ();
#line 1085 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				binding = _tmp40_;
#line 1086 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp41_ = binding;
#line 1086 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp42_ = g_strdup ("0");
#line 1086 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp41_->literal);
#line 1086 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp41_->literal = _tmp42_;
#line 1087 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp43_ = binding;
#line 1087 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				((TrackerSparqlDataBinding*) _tmp43_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
#line 1088 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp44_ = self->priv->query;
#line 1088 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp45_ = binding;
#line 1088 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp46_ = _g_object_ref0 (_tmp45_);
#line 1088 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp44_->bindings = g_list_append (_tmp44_->bindings, _tmp46_);
#line 1080 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (binding);
#line 10833 "tracker-sparql-expression.c"
			}
#line 1091 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1091 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10839 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL1:
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL2:
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG1:
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG2:
#line 10849 "tracker-sparql-expression.c"
		{
			gchar* literal = NULL;
			TrackerPropertyType _tmp47_ = 0;
			gchar* _tmp48_ = NULL;
			TrackerPropertyType _tmp49_ = 0;
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp48_ = tracker_sparql_expression_parse_string_literal (self, &_tmp47_, &_inner_error_);
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp47_;
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			literal = _tmp48_;
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10869 "tracker-sparql-expression.c"
				} else {
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10877 "tracker-sparql-expression.c"
				}
			}
#line 1098 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp49_ = type;
#line 1098 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			switch (_tmp49_) {
#line 1098 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				case TRACKER_PROPERTY_TYPE_INTEGER:
#line 1098 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				case TRACKER_PROPERTY_TYPE_BOOLEAN:
#line 1098 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				case TRACKER_PROPERTY_TYPE_DOUBLE:
#line 1098 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				case TRACKER_PROPERTY_TYPE_DATE:
#line 1098 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				case TRACKER_PROPERTY_TYPE_DATETIME:
#line 10894 "tracker-sparql-expression.c"
				{
					TrackerSparqlQuery* _tmp50_ = NULL;
					gboolean _tmp51_ = FALSE;
					gboolean _tmp52_ = FALSE;
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp50_ = self->priv->query;
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp51_ = tracker_sparql_query_get_no_cache (_tmp50_);
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp52_ = _tmp51_;
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_tmp52_) {
#line 10907 "tracker-sparql-expression.c"
						GString* _tmp53_ = NULL;
						const gchar* _tmp54_ = NULL;
						gchar* _tmp55_ = NULL;
						gchar* _tmp56_ = NULL;
#line 1105 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp53_ = sql;
#line 1105 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp54_ = literal;
#line 1105 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp55_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp54_);
#line 1105 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp56_ = _tmp55_;
#line 1105 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_string_append (_tmp53_, _tmp56_);
#line 1105 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_tmp56_);
#line 10924 "tracker-sparql-expression.c"
					} else {
						TrackerSparqlLiteralBinding* binding = NULL;
						TrackerSparqlLiteralBinding* _tmp57_ = NULL;
						TrackerSparqlLiteralBinding* _tmp58_ = NULL;
						const gchar* _tmp59_ = NULL;
						gchar* _tmp60_ = NULL;
						TrackerSparqlLiteralBinding* _tmp61_ = NULL;
						TrackerPropertyType _tmp62_ = 0;
						TrackerSparqlQuery* _tmp63_ = NULL;
						TrackerSparqlLiteralBinding* _tmp64_ = NULL;
						TrackerSparqlLiteralBinding* _tmp65_ = NULL;
						GString* _tmp66_ = NULL;
#line 1107 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp57_ = tracker_sparql_literal_binding_new ();
#line 1107 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						binding = _tmp57_;
#line 1108 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp58_ = binding;
#line 1108 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp59_ = literal;
#line 1108 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp60_ = g_strdup (_tmp59_);
#line 1108 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_tmp58_->literal);
#line 1108 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp58_->literal = _tmp60_;
#line 1109 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp61_ = binding;
#line 1109 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp62_ = type;
#line 1109 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						((TrackerSparqlDataBinding*) _tmp61_)->data_type = _tmp62_;
#line 1110 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp63_ = self->priv->query;
#line 1110 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp64_ = binding;
#line 1110 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp65_ = _g_object_ref0 (_tmp64_);
#line 1110 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp63_->bindings = g_list_append (_tmp63_->bindings, _tmp65_);
#line 1111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp66_ = sql;
#line 1111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_string_append (_tmp66_, "?");
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (binding);
#line 10971 "tracker-sparql-expression.c"
					}
#line 1113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					result = type;
#line 1113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (literal);
#line 1113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return result;
#line 10979 "tracker-sparql-expression.c"
				}
				default:
				{
					TrackerSparqlQuery* _tmp67_ = NULL;
					gboolean _tmp68_ = FALSE;
					gboolean _tmp69_ = FALSE;
					GString* _tmp82_ = NULL;
#line 1115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp67_ = self->priv->query;
#line 1115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp68_ = tracker_sparql_query_get_no_cache (_tmp67_);
#line 1115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp69_ = _tmp68_;
#line 1115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_tmp69_) {
#line 10995 "tracker-sparql-expression.c"
						GString* _tmp70_ = NULL;
						const gchar* _tmp71_ = NULL;
						gchar* _tmp72_ = NULL;
						gchar* _tmp73_ = NULL;
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp70_ = sql;
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp71_ = literal;
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp72_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp71_);
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp73_ = _tmp72_;
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_string_append (_tmp70_, _tmp73_);
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_tmp73_);
#line 11012 "tracker-sparql-expression.c"
					} else {
						TrackerSparqlLiteralBinding* binding = NULL;
						TrackerSparqlLiteralBinding* _tmp74_ = NULL;
						TrackerSparqlLiteralBinding* _tmp75_ = NULL;
						const gchar* _tmp76_ = NULL;
						gchar* _tmp77_ = NULL;
						TrackerSparqlQuery* _tmp78_ = NULL;
						TrackerSparqlLiteralBinding* _tmp79_ = NULL;
						TrackerSparqlLiteralBinding* _tmp80_ = NULL;
						GString* _tmp81_ = NULL;
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp74_ = tracker_sparql_literal_binding_new ();
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						binding = _tmp74_;
#line 1119 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp75_ = binding;
#line 1119 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp76_ = literal;
#line 1119 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp77_ = g_strdup (_tmp76_);
#line 1119 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_tmp75_->literal);
#line 1119 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp75_->literal = _tmp77_;
#line 1120 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp78_ = self->priv->query;
#line 1120 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp79_ = binding;
#line 1120 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp80_ = _g_object_ref0 (_tmp79_);
#line 1120 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp78_->bindings = g_list_append (_tmp78_->bindings, _tmp80_);
#line 1121 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp81_ = sql;
#line 1121 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_string_append (_tmp81_, "?");
#line 1115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (binding);
#line 11051 "tracker-sparql-expression.c"
					}
#line 1123 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp82_ = sql;
#line 1123 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					tracker_sparql_expression_append_collate (self, _tmp82_);
#line 1124 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					result = TRACKER_PROPERTY_TYPE_STRING;
#line 1124 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (literal);
#line 1124 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return result;
#line 11063 "tracker-sparql-expression.c"
				}
			}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (literal);
#line 11068 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_INTEGER:
#line 11072 "tracker-sparql-expression.c"
		{
			TrackerSparqlQuery* _tmp83_ = NULL;
			gboolean _tmp84_ = FALSE;
			gboolean _tmp85_ = FALSE;
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11087 "tracker-sparql-expression.c"
				} else {
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11095 "tracker-sparql-expression.c"
				}
			}
#line 1129 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp83_ = self->priv->query;
#line 1129 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp84_ = tracker_sparql_query_get_no_cache (_tmp83_);
#line 1129 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp85_ = _tmp84_;
#line 1129 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp85_) {
#line 11106 "tracker-sparql-expression.c"
				GString* _tmp86_ = NULL;
				gchar* _tmp87_ = NULL;
				gchar* _tmp88_ = NULL;
#line 1130 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp86_ = sql;
#line 1130 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp87_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1130 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp88_ = _tmp87_;
#line 1130 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp86_, _tmp88_);
#line 1130 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp88_);
#line 11120 "tracker-sparql-expression.c"
			} else {
				GString* _tmp89_ = NULL;
				TrackerSparqlLiteralBinding* binding = NULL;
				TrackerSparqlLiteralBinding* _tmp90_ = NULL;
				TrackerSparqlLiteralBinding* _tmp91_ = NULL;
				gchar* _tmp92_ = NULL;
				TrackerSparqlLiteralBinding* _tmp93_ = NULL;
				TrackerSparqlQuery* _tmp94_ = NULL;
				TrackerSparqlLiteralBinding* _tmp95_ = NULL;
				TrackerSparqlLiteralBinding* _tmp96_ = NULL;
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp89_ = sql;
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp89_, "?");
#line 1134 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp90_ = tracker_sparql_literal_binding_new ();
#line 1134 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				binding = _tmp90_;
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp91_ = binding;
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp92_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp91_->literal);
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp91_->literal = _tmp92_;
#line 1136 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp93_ = binding;
#line 1136 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				((TrackerSparqlDataBinding*) _tmp93_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
#line 1137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp94_ = self->priv->query;
#line 1137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp95_ = binding;
#line 1137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp96_ = _g_object_ref0 (_tmp95_);
#line 1137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp94_->bindings = g_list_append (_tmp94_->bindings, _tmp96_);
#line 1129 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (binding);
#line 11161 "tracker-sparql-expression.c"
			}
#line 1140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 1140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11167 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_VAR:
#line 11171 "tracker-sparql-expression.c"
		{
			gchar* variable_name = NULL;
			gchar* _tmp97_ = NULL;
			gchar* _tmp98_ = NULL;
			gchar* _tmp99_ = NULL;
			gchar* _tmp100_ = NULL;
			TrackerSparqlVariable* variable = NULL;
			TrackerSparqlContext* _tmp101_ = NULL;
			TrackerSparqlContext* _tmp102_ = NULL;
			const gchar* _tmp103_ = NULL;
			TrackerSparqlVariable* _tmp104_ = NULL;
			TrackerSparqlVariable* _tmp105_ = NULL;
			gboolean _tmp106_ = FALSE;
			TrackerSparqlContext* _tmp107_ = NULL;
			TrackerSparqlContext* _tmp108_ = NULL;
			TrackerSparqlVariable* _tmp109_ = NULL;
			TrackerSparqlContext* _tmp110_ = NULL;
			TrackerSparqlContext* _tmp111_ = NULL;
			TrackerSparqlVariable* _tmp123_ = NULL;
			TrackerSparqlVariableBinding* _tmp124_ = NULL;
#line 1142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11202 "tracker-sparql-expression.c"
				} else {
#line 1142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11210 "tracker-sparql-expression.c"
				}
			}
#line 1143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp97_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp98_ = _tmp97_;
#line 1143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp99_ = string_substring (_tmp98_, (glong) 1, (glong) -1);
#line 1143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp100_ = _tmp99_;
#line 1143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp98_);
#line 1143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			variable_name = _tmp100_;
#line 1144 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp101_ = tracker_sparql_expression_get_context (self);
#line 1144 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp102_ = _tmp101_;
#line 1144 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp103_ = variable_name;
#line 1144 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp104_ = tracker_sparql_context_get_variable (_tmp102_, _tmp103_);
#line 1144 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp105_ = _g_object_ref0 (_tmp104_);
#line 1144 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			variable = _tmp105_;
#line 1146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp107_ = tracker_sparql_expression_get_context (self);
#line 1146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp108_ = _tmp107_;
#line 1146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp109_ = variable;
#line 1146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp110_ = tracker_sparql_variable_get_origin_context (_tmp109_);
#line 1146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp111_ = _tmp110_;
#line 1146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp108_ == _tmp111_) {
#line 11249 "tracker-sparql-expression.c"
				TrackerSparqlVariable* _tmp112_ = NULL;
				TrackerSparqlVariableBinding* _tmp113_ = NULL;
#line 1146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp112_ = variable;
#line 1146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp113_ = _tmp112_->binding;
#line 1146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp106_ = _tmp113_ != NULL;
#line 11258 "tracker-sparql-expression.c"
			} else {
#line 1146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp106_ = FALSE;
#line 11262 "tracker-sparql-expression.c"
			}
#line 1146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp106_) {
#line 11266 "tracker-sparql-expression.c"
				GString* _tmp114_ = NULL;
				TrackerSparqlVariable* _tmp115_ = NULL;
				TrackerSparqlVariableBinding* _tmp116_ = NULL;
				const gchar* _tmp117_ = NULL;
				const gchar* _tmp118_ = NULL;
#line 1147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp114_ = sql;
#line 1147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp115_ = variable;
#line 1147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp116_ = _tmp115_->binding;
#line 1147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp117_ = tracker_sparql_data_binding_get_sql_expression ((TrackerSparqlDataBinding*) _tmp116_);
#line 1147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp118_ = _tmp117_;
#line 1147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp114_, _tmp118_);
#line 11284 "tracker-sparql-expression.c"
			} else {
				GString* _tmp119_ = NULL;
				TrackerSparqlVariable* _tmp120_ = NULL;
				const gchar* _tmp121_ = NULL;
				const gchar* _tmp122_ = NULL;
#line 1149 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp119_ = sql;
#line 1149 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp120_ = variable;
#line 1149 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp121_ = tracker_sparql_variable_get_sql_expression (_tmp120_);
#line 1149 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp122_ = _tmp121_;
#line 1149 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp119_, _tmp122_);
#line 11300 "tracker-sparql-expression.c"
			}
#line 1152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp123_ = variable;
#line 1152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp124_ = _tmp123_->binding;
#line 1152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp124_ == NULL) {
#line 1153 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				result = TRACKER_PROPERTY_TYPE_UNKNOWN;
#line 1153 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 1153 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (variable_name);
#line 1153 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return result;
#line 11316 "tracker-sparql-expression.c"
			} else {
				TrackerSparqlVariable* _tmp125_ = NULL;
				TrackerSparqlVariableBinding* _tmp126_ = NULL;
				TrackerPropertyType _tmp127_ = 0;
				TrackerSparqlVariable* _tmp129_ = NULL;
				TrackerSparqlVariableBinding* _tmp130_ = NULL;
				TrackerPropertyType _tmp131_ = 0;
#line 1155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp125_ = variable;
#line 1155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp126_ = _tmp125_->binding;
#line 1155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp127_ = ((TrackerSparqlDataBinding*) _tmp126_)->data_type;
#line 1155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_tmp127_ == TRACKER_PROPERTY_TYPE_STRING) {
#line 11332 "tracker-sparql-expression.c"
					GString* _tmp128_ = NULL;
#line 1156 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp128_ = sql;
#line 1156 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					tracker_sparql_expression_append_collate (self, _tmp128_);
#line 11338 "tracker-sparql-expression.c"
				}
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp129_ = variable;
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp130_ = _tmp129_->binding;
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp131_ = ((TrackerSparqlDataBinding*) _tmp130_)->data_type;
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				result = _tmp131_;
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (variable_name);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return result;
#line 11354 "tracker-sparql-expression.c"
			}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (variable);
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (variable_name);
#line 11360 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STR:
#line 11364 "tracker-sparql-expression.c"
		{
			GString* _tmp132_ = NULL;
#line 1161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp132_ = sql;
#line 1161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_str (self, _tmp132_, &_inner_error_);
#line 1161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11379 "tracker-sparql-expression.c"
				} else {
#line 1161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11387 "tracker-sparql-expression.c"
				}
			}
#line 1162 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_STRING;
#line 1162 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11394 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_LANG:
#line 11398 "tracker-sparql-expression.c"
		{
			GString* _tmp133_ = NULL;
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11411 "tracker-sparql-expression.c"
				} else {
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11419 "tracker-sparql-expression.c"
				}
			}
#line 1165 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp133_ = sql;
#line 1165 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp133_, "''");
#line 1166 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_STRING;
#line 1166 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11430 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_LANGMATCHES:
#line 11434 "tracker-sparql-expression.c"
		{
			GString* _tmp134_ = NULL;
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11447 "tracker-sparql-expression.c"
				} else {
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11455 "tracker-sparql-expression.c"
				}
			}
#line 1169 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp134_ = sql;
#line 1169 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp134_, "0");
#line 1170 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1170 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11466 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_DATATYPE:
#line 11470 "tracker-sparql-expression.c"
		{
			GString* _tmp135_ = NULL;
#line 1172 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp135_ = sql;
#line 1172 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_datatype (self, _tmp135_, &_inner_error_);
#line 1172 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1172 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1172 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1172 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11485 "tracker-sparql-expression.c"
				} else {
#line 1172 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1172 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1172 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11493 "tracker-sparql-expression.c"
				}
			}
#line 1173 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_RESOURCE;
#line 1173 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11500 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_BOUND:
#line 11504 "tracker-sparql-expression.c"
		{
			GString* _tmp136_ = NULL;
#line 1175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp136_ = sql;
#line 1175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_bound_call (self, _tmp136_, &_inner_error_);
#line 1175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11519 "tracker-sparql-expression.c"
				} else {
#line 1175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11527 "tracker-sparql-expression.c"
				}
			}
#line 1176 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1176 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11534 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_COALESCE:
#line 11538 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
			GString* _tmp137_ = NULL;
			TrackerPropertyType _tmp138_ = 0;
#line 1178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11553 "tracker-sparql-expression.c"
				} else {
#line 1178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11561 "tracker-sparql-expression.c"
				}
			}
#line 1179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11574 "tracker-sparql-expression.c"
				} else {
#line 1179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11582 "tracker-sparql-expression.c"
				}
			}
#line 1180 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp137_ = sql;
#line 1180 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp138_ = tracker_sparql_expression_translate_function (self, _tmp137_, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "coalesce", &_inner_error_);
#line 1180 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp138_;
#line 1180 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1180 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1180 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1180 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11599 "tracker-sparql-expression.c"
				} else {
#line 1180 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1180 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1180 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11607 "tracker-sparql-expression.c"
				}
			}
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11620 "tracker-sparql-expression.c"
				} else {
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11628 "tracker-sparql-expression.c"
				}
			}
#line 1182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11635 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_CONCAT:
#line 11639 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
			GString* _tmp139_ = NULL;
			TrackerPropertyType _tmp140_ = 0;
#line 1184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11654 "tracker-sparql-expression.c"
				} else {
#line 1184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11662 "tracker-sparql-expression.c"
				}
			}
#line 1185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11675 "tracker-sparql-expression.c"
				} else {
#line 1185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11683 "tracker-sparql-expression.c"
				}
			}
#line 1186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp139_ = sql;
#line 1186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp140_ = tracker_sparql_expression_translate_function (self, _tmp139_, TRACKER_SPARQL_EXPRESSION_FN_NS "concat", &_inner_error_);
#line 1186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp140_;
#line 1186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11700 "tracker-sparql-expression.c"
				} else {
#line 1186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11708 "tracker-sparql-expression.c"
				}
			}
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11721 "tracker-sparql-expression.c"
				} else {
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11729 "tracker-sparql-expression.c"
				}
			}
#line 1188 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1188 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11736 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_CONTAINS:
#line 11740 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
			GString* _tmp141_ = NULL;
			TrackerPropertyType _tmp142_ = 0;
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11755 "tracker-sparql-expression.c"
				} else {
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11763 "tracker-sparql-expression.c"
				}
			}
#line 1191 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1191 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1191 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1191 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1191 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11776 "tracker-sparql-expression.c"
				} else {
#line 1191 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1191 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1191 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11784 "tracker-sparql-expression.c"
				}
			}
#line 1192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp141_ = sql;
#line 1192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp142_ = tracker_sparql_expression_translate_function (self, _tmp141_, TRACKER_SPARQL_EXPRESSION_FN_NS "contains", &_inner_error_);
#line 1192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp142_;
#line 1192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11801 "tracker-sparql-expression.c"
				} else {
#line 1192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11809 "tracker-sparql-expression.c"
				}
			}
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11822 "tracker-sparql-expression.c"
				} else {
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11830 "tracker-sparql-expression.c"
				}
			}
#line 1194 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1194 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11837 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ENCODE_FOR_URI:
#line 11841 "tracker-sparql-expression.c"
		{
			GString* _tmp143_ = NULL;
			GString* _tmp144_ = NULL;
			GString* _tmp145_ = NULL;
#line 1196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11856 "tracker-sparql-expression.c"
				} else {
#line 1196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11864 "tracker-sparql-expression.c"
				}
			}
#line 1197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11877 "tracker-sparql-expression.c"
				} else {
#line 1197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11885 "tracker-sparql-expression.c"
				}
			}
#line 1198 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp143_ = sql;
#line 1198 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp143_, "SparqlEncodeForUri (");
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp144_ = sql;
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_string (self, _tmp144_, &_inner_error_);
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11904 "tracker-sparql-expression.c"
				} else {
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11912 "tracker-sparql-expression.c"
				}
			}
#line 1200 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp145_ = sql;
#line 1200 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp145_, ")");
#line 1201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11929 "tracker-sparql-expression.c"
				} else {
#line 1201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11937 "tracker-sparql-expression.c"
				}
			}
#line 1202 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_STRING;
#line 1202 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11944 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_IF:
#line 11948 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp146_ = 0;
			GString* _tmp147_ = NULL;
			TrackerPropertyType _tmp148_ = 0;
#line 1204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp147_ = sql;
#line 1204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp148_ = tracker_sparql_expression_translate_if_call (self, _tmp147_, &_inner_error_);
#line 1204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp146_ = _tmp148_;
#line 1204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11967 "tracker-sparql-expression.c"
				} else {
#line 1204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11975 "tracker-sparql-expression.c"
				}
			}
#line 1204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp146_;
#line 1204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11982 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SAMETERM:
#line 11986 "tracker-sparql-expression.c"
		{
			GString* _tmp149_ = NULL;
			GString* _tmp150_ = NULL;
			GString* _tmp151_ = NULL;
			GString* _tmp152_ = NULL;
			GString* _tmp153_ = NULL;
#line 1206 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1206 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1206 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1206 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1206 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12003 "tracker-sparql-expression.c"
				} else {
#line 1206 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1206 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1206 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12011 "tracker-sparql-expression.c"
				}
			}
#line 1207 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1207 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1207 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1207 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1207 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12024 "tracker-sparql-expression.c"
				} else {
#line 1207 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1207 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1207 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12032 "tracker-sparql-expression.c"
				}
			}
#line 1208 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp149_ = sql;
#line 1208 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp149_, "(");
#line 1209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp150_ = sql;
#line 1209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression (self, _tmp150_, &_inner_error_);
#line 1209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12051 "tracker-sparql-expression.c"
				} else {
#line 1209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12059 "tracker-sparql-expression.c"
				}
			}
#line 1210 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp151_ = sql;
#line 1210 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp151_, " = ");
#line 1211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 1211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12076 "tracker-sparql-expression.c"
				} else {
#line 1211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12084 "tracker-sparql-expression.c"
				}
			}
#line 1212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp152_ = sql;
#line 1212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression (self, _tmp152_, &_inner_error_);
#line 1212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12099 "tracker-sparql-expression.c"
				} else {
#line 1212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12107 "tracker-sparql-expression.c"
				}
			}
#line 1213 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp153_ = sql;
#line 1213 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp153_, ")");
#line 1214 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1214 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1214 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1214 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1214 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12124 "tracker-sparql-expression.c"
				} else {
#line 1214 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1214 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1214 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12132 "tracker-sparql-expression.c"
				}
			}
#line 1215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12139 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISIRI:
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISURI:
#line 12145 "tracker-sparql-expression.c"
		{
			GString* _tmp154_ = NULL;
#line 1218 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp154_ = sql;
#line 1218 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_isuri (self, _tmp154_, &_inner_error_);
#line 1218 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1218 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1218 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1218 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12160 "tracker-sparql-expression.c"
				} else {
#line 1218 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1218 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1218 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12168 "tracker-sparql-expression.c"
				}
			}
#line 1219 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1219 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12175 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISBLANK:
#line 12179 "tracker-sparql-expression.c"
		{
			GString* _tmp155_ = NULL;
#line 1221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12192 "tracker-sparql-expression.c"
				} else {
#line 1221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12200 "tracker-sparql-expression.c"
				}
			}
#line 1222 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1222 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1222 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1222 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1222 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12213 "tracker-sparql-expression.c"
				} else {
#line 1222 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1222 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1222 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12221 "tracker-sparql-expression.c"
				}
			}
#line 1223 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1223 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1223 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1223 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1223 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12234 "tracker-sparql-expression.c"
				} else {
#line 1223 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1223 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1223 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12242 "tracker-sparql-expression.c"
				}
			}
#line 1225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp155_ = sql;
#line 1225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp155_, "0");
#line 1226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12259 "tracker-sparql-expression.c"
				} else {
#line 1226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12267 "tracker-sparql-expression.c"
				}
			}
#line 1227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12274 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISLITERAL:
#line 12278 "tracker-sparql-expression.c"
		{
#line 1229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12290 "tracker-sparql-expression.c"
				} else {
#line 1229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12298 "tracker-sparql-expression.c"
				}
			}
#line 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12305 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_LCASE:
#line 12309 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
			GString* _tmp156_ = NULL;
			TrackerPropertyType _tmp157_ = 0;
#line 1232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12324 "tracker-sparql-expression.c"
				} else {
#line 1232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12332 "tracker-sparql-expression.c"
				}
			}
#line 1233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12345 "tracker-sparql-expression.c"
				} else {
#line 1233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12353 "tracker-sparql-expression.c"
				}
			}
#line 1234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp156_ = sql;
#line 1234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp157_ = tracker_sparql_expression_translate_function (self, _tmp156_, TRACKER_SPARQL_EXPRESSION_FN_NS "lower-case", &_inner_error_);
#line 1234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp157_;
#line 1234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12370 "tracker-sparql-expression.c"
				} else {
#line 1234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12378 "tracker-sparql-expression.c"
				}
			}
#line 1235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12391 "tracker-sparql-expression.c"
				} else {
#line 1235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12399 "tracker-sparql-expression.c"
				}
			}
#line 1236 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1236 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12406 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_UCASE:
#line 12410 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
			GString* _tmp158_ = NULL;
			TrackerPropertyType _tmp159_ = 0;
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12425 "tracker-sparql-expression.c"
				} else {
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12433 "tracker-sparql-expression.c"
				}
			}
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12446 "tracker-sparql-expression.c"
				} else {
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12454 "tracker-sparql-expression.c"
				}
			}
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp158_ = sql;
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp159_ = tracker_sparql_expression_translate_function (self, _tmp158_, TRACKER_SPARQL_EXPRESSION_FN_NS "upper-case", &_inner_error_);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp159_;
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12471 "tracker-sparql-expression.c"
				} else {
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12479 "tracker-sparql-expression.c"
				}
			}
#line 1241 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1241 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1241 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1241 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1241 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12492 "tracker-sparql-expression.c"
				} else {
#line 1241 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1241 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1241 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12500 "tracker-sparql-expression.c"
				}
			}
#line 1242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12507 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRLEN:
#line 12511 "tracker-sparql-expression.c"
		{
			GString* _tmp160_ = NULL;
			TrackerPropertyType _tmp161_ = 0;
			GString* _tmp162_ = NULL;
			TrackerPropertyType _tmp163_ = 0;
			GString* _tmp164_ = NULL;
#line 1244 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1244 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1244 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1244 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1244 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12528 "tracker-sparql-expression.c"
				} else {
#line 1244 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1244 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1244 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12536 "tracker-sparql-expression.c"
				}
			}
#line 1245 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp160_ = sql;
#line 1245 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp160_, "LENGTH(");
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp162_ = sql;
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp163_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp162_, &_inner_error_);
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp161_ = _tmp163_;
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12557 "tracker-sparql-expression.c"
				} else {
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12565 "tracker-sparql-expression.c"
				}
			}
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp161_;
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp164_ = sql;
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp164_, ")");
#line 1248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 1248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12578 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRSTARTS:
#line 12582 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
			GString* _tmp165_ = NULL;
			TrackerPropertyType _tmp166_ = 0;
#line 1250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12597 "tracker-sparql-expression.c"
				} else {
#line 1250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12605 "tracker-sparql-expression.c"
				}
			}
#line 1251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12618 "tracker-sparql-expression.c"
				} else {
#line 1251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12626 "tracker-sparql-expression.c"
				}
			}
#line 1252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp165_ = sql;
#line 1252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp166_ = tracker_sparql_expression_translate_function (self, _tmp165_, TRACKER_SPARQL_EXPRESSION_FN_NS "starts-with", &_inner_error_);
#line 1252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp166_;
#line 1252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12643 "tracker-sparql-expression.c"
				} else {
#line 1252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12651 "tracker-sparql-expression.c"
				}
			}
#line 1253 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1253 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1253 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1253 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1253 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12664 "tracker-sparql-expression.c"
				} else {
#line 1253 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1253 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1253 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12672 "tracker-sparql-expression.c"
				}
			}
#line 1254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12679 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRENDS:
#line 12683 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
			GString* _tmp167_ = NULL;
			TrackerPropertyType _tmp168_ = 0;
#line 1256 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1256 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1256 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1256 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1256 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12698 "tracker-sparql-expression.c"
				} else {
#line 1256 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1256 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1256 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12706 "tracker-sparql-expression.c"
				}
			}
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12719 "tracker-sparql-expression.c"
				} else {
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12727 "tracker-sparql-expression.c"
				}
			}
#line 1258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp167_ = sql;
#line 1258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp168_ = tracker_sparql_expression_translate_function (self, _tmp167_, TRACKER_SPARQL_EXPRESSION_FN_NS "ends-with", &_inner_error_);
#line 1258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp168_;
#line 1258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12744 "tracker-sparql-expression.c"
				} else {
#line 1258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12752 "tracker-sparql-expression.c"
				}
			}
#line 1259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12765 "tracker-sparql-expression.c"
				} else {
#line 1259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12773 "tracker-sparql-expression.c"
				}
			}
#line 1260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12780 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SUBSTR:
#line 12784 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
			GString* _tmp169_ = NULL;
			TrackerPropertyType _tmp170_ = 0;
#line 1262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12799 "tracker-sparql-expression.c"
				} else {
#line 1262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12807 "tracker-sparql-expression.c"
				}
			}
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12820 "tracker-sparql-expression.c"
				} else {
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12828 "tracker-sparql-expression.c"
				}
			}
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp169_ = sql;
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp170_ = tracker_sparql_expression_translate_function (self, _tmp169_, TRACKER_SPARQL_EXPRESSION_FN_NS "substring", &_inner_error_);
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp170_;
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12845 "tracker-sparql-expression.c"
				} else {
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12853 "tracker-sparql-expression.c"
				}
			}
#line 1265 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1265 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1265 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1265 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1265 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12866 "tracker-sparql-expression.c"
				} else {
#line 1265 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1265 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1265 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12874 "tracker-sparql-expression.c"
				}
			}
#line 1266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12881 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRBEFORE:
#line 12885 "tracker-sparql-expression.c"
		{
			GString* _tmp171_ = NULL;
			GString* _tmp172_ = NULL;
			GString* _tmp173_ = NULL;
			GString* _tmp174_ = NULL;
			GString* _tmp175_ = NULL;
#line 1268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12902 "tracker-sparql-expression.c"
				} else {
#line 1268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12910 "tracker-sparql-expression.c"
				}
			}
#line 1269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12923 "tracker-sparql-expression.c"
				} else {
#line 1269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12931 "tracker-sparql-expression.c"
				}
			}
#line 1270 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp171_ = sql;
#line 1270 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp171_, "SparqlStringBefore (");
#line 1271 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp172_ = sql;
#line 1271 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_string (self, _tmp172_, &_inner_error_);
#line 1271 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1271 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1271 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1271 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12950 "tracker-sparql-expression.c"
				} else {
#line 1271 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1271 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1271 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12958 "tracker-sparql-expression.c"
				}
			}
#line 1272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 1272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12971 "tracker-sparql-expression.c"
				} else {
#line 1272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12979 "tracker-sparql-expression.c"
				}
			}
#line 1273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp173_ = sql;
#line 1273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp173_, ",");
#line 1274 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp174_ = sql;
#line 1274 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_string (self, _tmp174_, &_inner_error_);
#line 1274 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1274 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1274 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1274 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12998 "tracker-sparql-expression.c"
				} else {
#line 1274 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1274 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1274 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13006 "tracker-sparql-expression.c"
				}
			}
#line 1275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp175_ = sql;
#line 1275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp175_, ")");
#line 1276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13023 "tracker-sparql-expression.c"
				} else {
#line 1276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13031 "tracker-sparql-expression.c"
				}
			}
#line 1277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_STRING;
#line 1277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13038 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRAFTER:
#line 13042 "tracker-sparql-expression.c"
		{
			GString* _tmp176_ = NULL;
			GString* _tmp177_ = NULL;
			GString* _tmp178_ = NULL;
			GString* _tmp179_ = NULL;
			GString* _tmp180_ = NULL;
#line 1279 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1279 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1279 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1279 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1279 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13059 "tracker-sparql-expression.c"
				} else {
#line 1279 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1279 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1279 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13067 "tracker-sparql-expression.c"
				}
			}
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13080 "tracker-sparql-expression.c"
				} else {
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13088 "tracker-sparql-expression.c"
				}
			}
#line 1281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp176_ = sql;
#line 1281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp176_, "SparqlStringAfter (");
#line 1282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp177_ = sql;
#line 1282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_string (self, _tmp177_, &_inner_error_);
#line 1282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13107 "tracker-sparql-expression.c"
				} else {
#line 1282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13115 "tracker-sparql-expression.c"
				}
			}
#line 1283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 1283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13128 "tracker-sparql-expression.c"
				} else {
#line 1283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13136 "tracker-sparql-expression.c"
				}
			}
#line 1284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp178_ = sql;
#line 1284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp178_, ",");
#line 1285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp179_ = sql;
#line 1285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_string (self, _tmp179_, &_inner_error_);
#line 1285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13155 "tracker-sparql-expression.c"
				} else {
#line 1285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13163 "tracker-sparql-expression.c"
				}
			}
#line 1286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp180_ = sql;
#line 1286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp180_, ")");
#line 1287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13180 "tracker-sparql-expression.c"
				} else {
#line 1287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13188 "tracker-sparql-expression.c"
				}
			}
#line 1288 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_STRING;
#line 1288 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13195 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_REGEX:
#line 13199 "tracker-sparql-expression.c"
		{
			GString* _tmp181_ = NULL;
			TrackerSparqlQuery* _tmp182_ = NULL;
#line 1290 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp181_ = sql;
#line 1290 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_regex (self, _tmp181_, &_inner_error_);
#line 1290 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1290 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1290 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1290 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13215 "tracker-sparql-expression.c"
				} else {
#line 1290 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1290 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1290 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13223 "tracker-sparql-expression.c"
				}
			}
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp182_ = self->priv->query;
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_query_set_no_cache (_tmp182_, TRUE);
#line 1292 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1292 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13234 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_EXISTS:
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_NOT:
#line 13240 "tracker-sparql-expression.c"
		{
			GString* _tmp183_ = NULL;
#line 1295 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp183_ = sql;
#line 1295 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_exists (self, _tmp183_, &_inner_error_);
#line 1295 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1295 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1295 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1295 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13255 "tracker-sparql-expression.c"
				} else {
#line 1295 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1295 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1295 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13263 "tracker-sparql-expression.c"
				}
			}
#line 1296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13270 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_COUNT:
#line 13274 "tracker-sparql-expression.c"
		{
			GString* _tmp184_ = NULL;
			GString* _tmp185_ = NULL;
			GString* _tmp186_ = NULL;
#line 1298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13289 "tracker-sparql-expression.c"
				} else {
#line 1298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13297 "tracker-sparql-expression.c"
				}
			}
#line 1299 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp184_ = sql;
#line 1299 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp184_, "COUNT(");
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp185_ = sql;
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_aggregate_expression (self, _tmp185_, &_inner_error_);
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13316 "tracker-sparql-expression.c"
				} else {
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13324 "tracker-sparql-expression.c"
				}
			}
#line 1301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp186_ = sql;
#line 1301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp186_, ")");
#line 1302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 1302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13335 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SUM:
#line 13339 "tracker-sparql-expression.c"
		{
			GString* _tmp187_ = NULL;
			TrackerPropertyType _tmp188_ = 0;
			GString* _tmp189_ = NULL;
			TrackerPropertyType _tmp190_ = 0;
			GString* _tmp191_ = NULL;
#line 1304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13356 "tracker-sparql-expression.c"
				} else {
#line 1304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13364 "tracker-sparql-expression.c"
				}
			}
#line 1305 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp187_ = sql;
#line 1305 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp187_, "SUM(");
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp189_ = sql;
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp190_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp189_, &_inner_error_);
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp188_ = _tmp190_;
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13385 "tracker-sparql-expression.c"
				} else {
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13393 "tracker-sparql-expression.c"
				}
			}
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp188_;
#line 1307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp191_ = sql;
#line 1307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp191_, ")");
#line 1308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13406 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_AVG:
#line 13410 "tracker-sparql-expression.c"
		{
			GString* _tmp192_ = NULL;
			TrackerPropertyType _tmp193_ = 0;
			GString* _tmp194_ = NULL;
			TrackerPropertyType _tmp195_ = 0;
			GString* _tmp196_ = NULL;
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13427 "tracker-sparql-expression.c"
				} else {
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13435 "tracker-sparql-expression.c"
				}
			}
#line 1311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp192_ = sql;
#line 1311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp192_, "AVG(");
#line 1312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp194_ = sql;
#line 1312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp195_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp194_, &_inner_error_);
#line 1312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp193_ = _tmp195_;
#line 1312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13456 "tracker-sparql-expression.c"
				} else {
#line 1312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13464 "tracker-sparql-expression.c"
				}
			}
#line 1312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp193_;
#line 1313 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp196_ = sql;
#line 1313 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp196_, ")");
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13477 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_MIN:
#line 13481 "tracker-sparql-expression.c"
		{
			GString* _tmp197_ = NULL;
			TrackerPropertyType _tmp198_ = 0;
			GString* _tmp199_ = NULL;
			TrackerPropertyType _tmp200_ = 0;
			GString* _tmp201_ = NULL;
#line 1316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13498 "tracker-sparql-expression.c"
				} else {
#line 1316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13506 "tracker-sparql-expression.c"
				}
			}
#line 1317 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp197_ = sql;
#line 1317 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp197_, "MIN(");
#line 1318 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp199_ = sql;
#line 1318 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp200_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp199_, &_inner_error_);
#line 1318 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp198_ = _tmp200_;
#line 1318 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1318 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1318 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1318 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13527 "tracker-sparql-expression.c"
				} else {
#line 1318 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1318 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1318 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13535 "tracker-sparql-expression.c"
				}
			}
#line 1318 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp198_;
#line 1319 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp201_ = sql;
#line 1319 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp201_, ")");
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13548 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_MAX:
#line 13552 "tracker-sparql-expression.c"
		{
			GString* _tmp202_ = NULL;
			TrackerPropertyType _tmp203_ = 0;
			GString* _tmp204_ = NULL;
			TrackerPropertyType _tmp205_ = 0;
			GString* _tmp206_ = NULL;
#line 1322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13569 "tracker-sparql-expression.c"
				} else {
#line 1322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13577 "tracker-sparql-expression.c"
				}
			}
#line 1323 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp202_ = sql;
#line 1323 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp202_, "MAX(");
#line 1324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp204_ = sql;
#line 1324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp205_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp204_, &_inner_error_);
#line 1324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp203_ = _tmp205_;
#line 1324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13598 "tracker-sparql-expression.c"
				} else {
#line 1324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13606 "tracker-sparql-expression.c"
				}
			}
#line 1324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp203_;
#line 1325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp206_ = sql;
#line 1325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp206_, ")");
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13619 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ABS:
#line 13623 "tracker-sparql-expression.c"
		{
			GString* _tmp207_ = NULL;
			TrackerPropertyType _tmp208_ = 0;
			GString* _tmp209_ = NULL;
			TrackerPropertyType _tmp210_ = 0;
			GString* _tmp211_ = NULL;
#line 1328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13640 "tracker-sparql-expression.c"
				} else {
#line 1328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13648 "tracker-sparql-expression.c"
				}
			}
#line 1329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp207_ = sql;
#line 1329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp207_, "ABS(");
#line 1330 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp209_ = sql;
#line 1330 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp210_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp209_, &_inner_error_);
#line 1330 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp208_ = _tmp210_;
#line 1330 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1330 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1330 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1330 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13669 "tracker-sparql-expression.c"
				} else {
#line 1330 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1330 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1330 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13677 "tracker-sparql-expression.c"
				}
			}
#line 1330 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp208_;
#line 1331 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp211_ = sql;
#line 1331 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp211_, ")");
#line 1332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13690 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ROUND:
#line 13694 "tracker-sparql-expression.c"
		{
			GString* _tmp212_ = NULL;
			TrackerPropertyType _tmp213_ = 0;
			GString* _tmp214_ = NULL;
			TrackerPropertyType _tmp215_ = 0;
			GString* _tmp216_ = NULL;
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13711 "tracker-sparql-expression.c"
				} else {
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13719 "tracker-sparql-expression.c"
				}
			}
#line 1335 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp212_ = sql;
#line 1335 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp212_, "ROUND(");
#line 1336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp214_ = sql;
#line 1336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp215_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp214_, &_inner_error_);
#line 1336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp213_ = _tmp215_;
#line 1336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13740 "tracker-sparql-expression.c"
				} else {
#line 1336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13748 "tracker-sparql-expression.c"
				}
			}
#line 1336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp213_;
#line 1337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp216_ = sql;
#line 1337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp216_, ")");
#line 1338 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1338 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13761 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_CEIL:
#line 13765 "tracker-sparql-expression.c"
		{
			GString* _tmp217_ = NULL;
			TrackerPropertyType _tmp218_ = 0;
			GString* _tmp219_ = NULL;
			TrackerPropertyType _tmp220_ = 0;
			GString* _tmp221_ = NULL;
#line 1340 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1340 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1340 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1340 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1340 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13782 "tracker-sparql-expression.c"
				} else {
#line 1340 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1340 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1340 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13790 "tracker-sparql-expression.c"
				}
			}
#line 1341 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp217_ = sql;
#line 1341 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp217_, "SparqlCeil(");
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp219_ = sql;
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp220_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp219_, &_inner_error_);
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp218_ = _tmp220_;
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13811 "tracker-sparql-expression.c"
				} else {
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13819 "tracker-sparql-expression.c"
				}
			}
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp218_;
#line 1343 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp221_ = sql;
#line 1343 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp221_, ")");
#line 1344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13832 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_FLOOR:
#line 13836 "tracker-sparql-expression.c"
		{
			GString* _tmp222_ = NULL;
			TrackerPropertyType _tmp223_ = 0;
			GString* _tmp224_ = NULL;
			TrackerPropertyType _tmp225_ = 0;
			GString* _tmp226_ = NULL;
#line 1346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13853 "tracker-sparql-expression.c"
				} else {
#line 1346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13861 "tracker-sparql-expression.c"
				}
			}
#line 1347 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp222_ = sql;
#line 1347 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp222_, "SparqlFloor(");
#line 1348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp224_ = sql;
#line 1348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp225_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp224_, &_inner_error_);
#line 1348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp223_ = _tmp225_;
#line 1348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13882 "tracker-sparql-expression.c"
				} else {
#line 1348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13890 "tracker-sparql-expression.c"
				}
			}
#line 1348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp223_;
#line 1349 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp226_ = sql;
#line 1349 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp226_, ")");
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13903 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_RAND:
#line 13907 "tracker-sparql-expression.c"
		{
			GString* _tmp227_ = NULL;
#line 1352 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1352 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1352 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1352 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1352 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13920 "tracker-sparql-expression.c"
				} else {
#line 1352 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1352 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1352 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13928 "tracker-sparql-expression.c"
				}
			}
#line 1353 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1353 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1353 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1353 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1353 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13941 "tracker-sparql-expression.c"
				} else {
#line 1353 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1353 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1353 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13949 "tracker-sparql-expression.c"
				}
			}
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13962 "tracker-sparql-expression.c"
				} else {
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13970 "tracker-sparql-expression.c"
				}
			}
#line 1355 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp227_ = sql;
#line 1355 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp227_, "SparqlRand()");
#line 1356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_DOUBLE;
#line 1356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13981 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_NOW:
#line 13985 "tracker-sparql-expression.c"
		{
			GString* _tmp228_ = NULL;
#line 1358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13998 "tracker-sparql-expression.c"
				} else {
#line 1358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14006 "tracker-sparql-expression.c"
				}
			}
#line 1359 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1359 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1359 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1359 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1359 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14019 "tracker-sparql-expression.c"
				} else {
#line 1359 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1359 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1359 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14027 "tracker-sparql-expression.c"
				}
			}
#line 1360 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1360 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1360 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1360 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1360 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14040 "tracker-sparql-expression.c"
				} else {
#line 1360 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1360 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1360 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14048 "tracker-sparql-expression.c"
				}
			}
#line 1361 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp228_ = sql;
#line 1361 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp228_, "strftime('%s', 'now')");
#line 1362 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_DATETIME;
#line 1362 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 14059 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SECONDS:
#line 14063 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
			GString* _tmp229_ = NULL;
			TrackerPropertyType _tmp230_ = 0;
#line 1364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14078 "tracker-sparql-expression.c"
				} else {
#line 1364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14086 "tracker-sparql-expression.c"
				}
			}
#line 1365 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1365 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1365 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1365 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1365 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14099 "tracker-sparql-expression.c"
				} else {
#line 1365 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1365 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1365 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14107 "tracker-sparql-expression.c"
				}
			}
#line 1366 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp229_ = sql;
#line 1366 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp230_ = tracker_sparql_expression_translate_function (self, _tmp229_, TRACKER_SPARQL_EXPRESSION_FN_NS "seconds-from-dateTime", &_inner_error_);
#line 1366 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp230_;
#line 1366 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1366 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1366 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1366 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14124 "tracker-sparql-expression.c"
				} else {
#line 1366 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1366 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1366 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14132 "tracker-sparql-expression.c"
				}
			}
#line 1367 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1367 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1367 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1367 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1367 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14145 "tracker-sparql-expression.c"
				} else {
#line 1367 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1367 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1367 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14153 "tracker-sparql-expression.c"
				}
			}
#line 1368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 14160 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_MINUTES:
#line 14164 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
			GString* _tmp231_ = NULL;
			TrackerPropertyType _tmp232_ = 0;
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14179 "tracker-sparql-expression.c"
				} else {
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14187 "tracker-sparql-expression.c"
				}
			}
#line 1371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14200 "tracker-sparql-expression.c"
				} else {
#line 1371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14208 "tracker-sparql-expression.c"
				}
			}
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp231_ = sql;
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp232_ = tracker_sparql_expression_translate_function (self, _tmp231_, TRACKER_SPARQL_EXPRESSION_FN_NS "minutes-from-dateTime", &_inner_error_);
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp232_;
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14225 "tracker-sparql-expression.c"
				} else {
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14233 "tracker-sparql-expression.c"
				}
			}
#line 1373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14246 "tracker-sparql-expression.c"
				} else {
#line 1373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14254 "tracker-sparql-expression.c"
				}
			}
#line 1374 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1374 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 14261 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_HOURS:
#line 14265 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
			GString* _tmp233_ = NULL;
			TrackerPropertyType _tmp234_ = 0;
#line 1376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14280 "tracker-sparql-expression.c"
				} else {
#line 1376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14288 "tracker-sparql-expression.c"
				}
			}
#line 1377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14301 "tracker-sparql-expression.c"
				} else {
#line 1377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14309 "tracker-sparql-expression.c"
				}
			}
#line 1378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp233_ = sql;
#line 1378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp234_ = tracker_sparql_expression_translate_function (self, _tmp233_, TRACKER_SPARQL_EXPRESSION_FN_NS "hours-from-dateTime", &_inner_error_);
#line 1378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp234_;
#line 1378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14326 "tracker-sparql-expression.c"
				} else {
#line 1378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14334 "tracker-sparql-expression.c"
				}
			}
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14347 "tracker-sparql-expression.c"
				} else {
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14355 "tracker-sparql-expression.c"
				}
			}
#line 1380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 14362 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_DAY:
#line 14366 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
			GString* _tmp235_ = NULL;
			TrackerPropertyType _tmp236_ = 0;
#line 1382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14381 "tracker-sparql-expression.c"
				} else {
#line 1382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14389 "tracker-sparql-expression.c"
				}
			}
#line 1383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14402 "tracker-sparql-expression.c"
				} else {
#line 1383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14410 "tracker-sparql-expression.c"
				}
			}
#line 1384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp235_ = sql;
#line 1384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp236_ = tracker_sparql_expression_translate_function (self, _tmp235_, TRACKER_SPARQL_EXPRESSION_FN_NS "day-from-dateTime", &_inner_error_);
#line 1384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp236_;
#line 1384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14427 "tracker-sparql-expression.c"
				} else {
#line 1384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14435 "tracker-sparql-expression.c"
				}
			}
#line 1385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14448 "tracker-sparql-expression.c"
				} else {
#line 1385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14456 "tracker-sparql-expression.c"
				}
			}
#line 1386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 14463 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_MONTH:
#line 14467 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
			GString* _tmp237_ = NULL;
			TrackerPropertyType _tmp238_ = 0;
#line 1388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14482 "tracker-sparql-expression.c"
				} else {
#line 1388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14490 "tracker-sparql-expression.c"
				}
			}
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14503 "tracker-sparql-expression.c"
				} else {
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14511 "tracker-sparql-expression.c"
				}
			}
#line 1390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp237_ = sql;
#line 1390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp238_ = tracker_sparql_expression_translate_function (self, _tmp237_, TRACKER_SPARQL_EXPRESSION_FN_NS "month-from-dateTime", &_inner_error_);
#line 1390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp238_;
#line 1390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14528 "tracker-sparql-expression.c"
				} else {
#line 1390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14536 "tracker-sparql-expression.c"
				}
			}
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14549 "tracker-sparql-expression.c"
				} else {
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14557 "tracker-sparql-expression.c"
				}
			}
#line 1392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 14564 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_YEAR:
#line 14568 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
			GString* _tmp239_ = NULL;
			TrackerPropertyType _tmp240_ = 0;
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14583 "tracker-sparql-expression.c"
				} else {
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14591 "tracker-sparql-expression.c"
				}
			}
#line 1395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14604 "tracker-sparql-expression.c"
				} else {
#line 1395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14612 "tracker-sparql-expression.c"
				}
			}
#line 1396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp239_ = sql;
#line 1396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp240_ = tracker_sparql_expression_translate_function (self, _tmp239_, TRACKER_SPARQL_EXPRESSION_FN_NS "year-from-dateTime", &_inner_error_);
#line 1396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp240_;
#line 1396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14629 "tracker-sparql-expression.c"
				} else {
#line 1396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14637 "tracker-sparql-expression.c"
				}
			}
#line 1397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14650 "tracker-sparql-expression.c"
				} else {
#line 1397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14658 "tracker-sparql-expression.c"
				}
			}
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 14665 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_MD5:
#line 14669 "tracker-sparql-expression.c"
		{
			GString* _tmp241_ = NULL;
			TrackerPropertyType _tmp242_ = 0;
			GString* _tmp243_ = NULL;
			TrackerPropertyType _tmp244_ = 0;
			GString* _tmp245_ = NULL;
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14686 "tracker-sparql-expression.c"
				} else {
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14694 "tracker-sparql-expression.c"
				}
			}
#line 1401 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp241_ = sql;
#line 1401 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp241_, "SparqlChecksum(");
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp243_ = sql;
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp244_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp243_, &_inner_error_);
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp242_ = _tmp244_;
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14715 "tracker-sparql-expression.c"
				} else {
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14723 "tracker-sparql-expression.c"
				}
			}
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp242_;
#line 1403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp245_ = sql;
#line 1403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp245_, ", \"md5\")");
#line 1404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 14736 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SHA1:
#line 14740 "tracker-sparql-expression.c"
		{
			GString* _tmp246_ = NULL;
			TrackerPropertyType _tmp247_ = 0;
			GString* _tmp248_ = NULL;
			TrackerPropertyType _tmp249_ = 0;
			GString* _tmp250_ = NULL;
#line 1406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14757 "tracker-sparql-expression.c"
				} else {
#line 1406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14765 "tracker-sparql-expression.c"
				}
			}
#line 1407 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp246_ = sql;
#line 1407 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp246_, "SparqlChecksum(");
#line 1408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp248_ = sql;
#line 1408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp249_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp248_, &_inner_error_);
#line 1408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp247_ = _tmp249_;
#line 1408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14786 "tracker-sparql-expression.c"
				} else {
#line 1408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14794 "tracker-sparql-expression.c"
				}
			}
#line 1408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp247_;
#line 1409 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp250_ = sql;
#line 1409 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp250_, ", \"sha1\")");
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 14807 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SHA256:
#line 14811 "tracker-sparql-expression.c"
		{
			GString* _tmp251_ = NULL;
			TrackerPropertyType _tmp252_ = 0;
			GString* _tmp253_ = NULL;
			TrackerPropertyType _tmp254_ = 0;
			GString* _tmp255_ = NULL;
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14828 "tracker-sparql-expression.c"
				} else {
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14836 "tracker-sparql-expression.c"
				}
			}
#line 1413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp251_ = sql;
#line 1413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp251_, "SparqlChecksum(");
#line 1414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp253_ = sql;
#line 1414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp254_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp253_, &_inner_error_);
#line 1414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp252_ = _tmp254_;
#line 1414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14857 "tracker-sparql-expression.c"
				} else {
#line 1414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14865 "tracker-sparql-expression.c"
				}
			}
#line 1414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp252_;
#line 1415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp255_ = sql;
#line 1415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp255_, ", \"sha256\")");
#line 1416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 14878 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SHA512:
#line 14882 "tracker-sparql-expression.c"
		{
			GString* _tmp256_ = NULL;
			TrackerPropertyType _tmp257_ = 0;
			GString* _tmp258_ = NULL;
			TrackerPropertyType _tmp259_ = 0;
			GString* _tmp260_ = NULL;
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14899 "tracker-sparql-expression.c"
				} else {
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14907 "tracker-sparql-expression.c"
				}
			}
#line 1419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp256_ = sql;
#line 1419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp256_, "SparqlChecksum(");
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp258_ = sql;
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp259_ = tracker_sparql_expression_translate_aggregate_expression (self, _tmp258_, &_inner_error_);
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp257_ = _tmp259_;
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14928 "tracker-sparql-expression.c"
				} else {
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14936 "tracker-sparql-expression.c"
				}
			}
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp257_;
#line 1421 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp260_ = sql;
#line 1421 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp260_, ", \"sha512\")");
#line 1422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 14949 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_GROUP_CONCAT:
#line 14953 "tracker-sparql-expression.c"
		{
			GString* _tmp261_ = NULL;
			GString* _tmp262_ = NULL;
			GString* _tmp263_ = NULL;
			gchar* _tmp264_ = NULL;
			gchar* _tmp265_ = NULL;
			GString* _tmp266_ = NULL;
			gchar* _tmp267_ = NULL;
			gchar* _tmp268_ = NULL;
			GString* _tmp269_ = NULL;
#line 1424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14974 "tracker-sparql-expression.c"
				} else {
#line 1424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14982 "tracker-sparql-expression.c"
				}
			}
#line 1425 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp261_ = sql;
#line 1425 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp261_, "GROUP_CONCAT(");
#line 1426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14999 "tracker-sparql-expression.c"
				} else {
#line 1426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15007 "tracker-sparql-expression.c"
				}
			}
#line 1427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp262_ = sql;
#line 1427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_string (self, _tmp262_, &_inner_error_);
#line 1427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15022 "tracker-sparql-expression.c"
				} else {
#line 1427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15030 "tracker-sparql-expression.c"
				}
			}
#line 1428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp263_ = sql;
#line 1428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp263_, ", ");
#line 1429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 1429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15047 "tracker-sparql-expression.c"
				} else {
#line 1429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15055 "tracker-sparql-expression.c"
				}
			}
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp265_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp264_ = _tmp265_;
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15070 "tracker-sparql-expression.c"
				} else {
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15078 "tracker-sparql-expression.c"
				}
			}
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp266_ = sql;
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp267_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp264_);
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp268_ = _tmp267_;
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp266_, _tmp268_);
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp268_);
#line 1431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp269_ = sql;
#line 1431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp269_, ")");
#line 1432 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1432 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1432 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1432 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1432 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (_tmp264_);
#line 1432 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15107 "tracker-sparql-expression.c"
				} else {
#line 1432 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (_tmp264_);
#line 1432 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1432 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1432 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15117 "tracker-sparql-expression.c"
				}
			}
#line 1433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_STRING;
#line 1433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp264_);
#line 1433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 15126 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX:
#line 15130 "tracker-sparql-expression.c"
		{
			gchar* ns = NULL;
			gchar* _tmp270_ = NULL;
			gchar* uri = NULL;
			TrackerSparqlQuery* _tmp271_ = NULL;
			const gchar* _tmp272_ = NULL;
			gchar* _tmp273_ = NULL;
			gchar* _tmp274_ = NULL;
			gchar* _tmp275_ = NULL;
			gchar* _tmp276_ = NULL;
			gchar* _tmp277_ = NULL;
			gchar* _tmp278_ = NULL;
			TrackerPropertyType _tmp279_ = 0;
			GString* _tmp280_ = NULL;
			const gchar* _tmp281_ = NULL;
			TrackerPropertyType _tmp282_ = 0;
#line 1435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15157 "tracker-sparql-expression.c"
				} else {
#line 1435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15165 "tracker-sparql-expression.c"
				}
			}
#line 1436 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp270_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1436 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			ns = _tmp270_;
#line 1437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COLON, &_inner_error_);
#line 1437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 1437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15184 "tracker-sparql-expression.c"
				} else {
#line 1437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 1437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15194 "tracker-sparql-expression.c"
				}
			}
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp271_ = self->priv->query;
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp272_ = ns;
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp273_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp274_ = _tmp273_;
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp275_ = string_substring (_tmp274_, (glong) 1, (glong) -1);
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp276_ = _tmp275_;
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp277_ = tracker_sparql_query_resolve_prefixed_name (_tmp271_, _tmp272_, _tmp276_, &_inner_error_);
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp278_ = _tmp277_;
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp276_);
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp274_);
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			uri = _tmp278_;
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15229 "tracker-sparql-expression.c"
				} else {
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15239 "tracker-sparql-expression.c"
				}
			}
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp280_ = sql;
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp281_ = uri;
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp282_ = tracker_sparql_expression_translate_uri_expression (self, _tmp280_, _tmp281_, &_inner_error_);
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp279_ = _tmp282_;
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (uri);
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15262 "tracker-sparql-expression.c"
				} else {
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (uri);
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15274 "tracker-sparql-expression.c"
				}
			}
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp279_;
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (uri);
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (ns);
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 15285 "tracker-sparql-expression.c"
		}
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_COLON:
#line 15289 "tracker-sparql-expression.c"
		{
			gchar* uri = NULL;
			TrackerSparqlQuery* _tmp283_ = NULL;
			gchar* _tmp284_ = NULL;
			gchar* _tmp285_ = NULL;
			gchar* _tmp286_ = NULL;
			gchar* _tmp287_ = NULL;
			gchar* _tmp288_ = NULL;
			gchar* _tmp289_ = NULL;
			TrackerPropertyType _tmp290_ = 0;
			GString* _tmp291_ = NULL;
			const gchar* _tmp292_ = NULL;
			TrackerPropertyType _tmp293_ = 0;
#line 1441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15313 "tracker-sparql-expression.c"
				} else {
#line 1441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15321 "tracker-sparql-expression.c"
				}
			}
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp283_ = self->priv->query;
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp284_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp285_ = _tmp284_;
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp286_ = string_substring (_tmp285_, (glong) 1, (glong) -1);
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp287_ = _tmp286_;
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp288_ = tracker_sparql_query_resolve_prefixed_name (_tmp283_, "", _tmp287_, &_inner_error_);
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp289_ = _tmp288_;
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp287_);
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp285_);
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			uri = _tmp289_;
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15352 "tracker-sparql-expression.c"
				} else {
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15360 "tracker-sparql-expression.c"
				}
			}
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp291_ = sql;
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp292_ = uri;
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp293_ = tracker_sparql_expression_translate_uri_expression (self, _tmp291_, _tmp292_, &_inner_error_);
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp290_ = _tmp293_;
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (uri);
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15381 "tracker-sparql-expression.c"
				} else {
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (uri);
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15391 "tracker-sparql-expression.c"
				}
			}
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp290_;
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (uri);
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 15400 "tracker-sparql-expression.c"
		}
		default:
		{
			GError* _tmp294_ = NULL;
#line 1445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp294_ = tracker_sparql_expression_get_error (self, "expected primary expression");
#line 1445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp294_;
#line 1445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 15415 "tracker-sparql-expression.c"
			} else {
#line 1445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 15423 "tracker-sparql-expression.c"
			}
		}
	}
}


static TrackerPropertyType tracker_sparql_expression_translate_unary_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerPropertyType result = 0;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	TrackerPropertyType _tmp19_ = 0;
	GString* _tmp20_ = NULL;
	TrackerPropertyType _tmp21_ = 0;
	GError * _inner_error_ = NULL;
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_NEG, &_inner_error_);
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = _tmp1_;
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 15454 "tracker-sparql-expression.c"
		} else {
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 15462 "tracker-sparql-expression.c"
		}
	}
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 15467 "tracker-sparql-expression.c"
		GString* _tmp2_ = NULL;
		TrackerPropertyType optype = 0;
		GString* _tmp3_ = NULL;
		TrackerPropertyType _tmp4_ = 0;
		GString* _tmp5_ = NULL;
		TrackerPropertyType _tmp6_ = 0;
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = sql;
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp2_, "NOT (");
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = sql;
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = tracker_sparql_expression_translate_primary_expression (self, _tmp3_, &_inner_error_);
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		optype = _tmp4_;
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 15492 "tracker-sparql-expression.c"
			} else {
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 15500 "tracker-sparql-expression.c"
			}
		}
#line 1453 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = sql;
#line 1453 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp5_, ")");
#line 1454 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = optype;
#line 1454 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp6_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
#line 15511 "tracker-sparql-expression.c"
			GError* _tmp7_ = NULL;
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp7_;
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 15523 "tracker-sparql-expression.c"
			} else {
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 15531 "tracker-sparql-expression.c"
			}
		}
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		return result;
#line 15538 "tracker-sparql-expression.c"
	} else {
		gboolean _tmp8_ = FALSE;
		gboolean _tmp9_ = FALSE;
#line 1458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_PLUS, &_inner_error_);
#line 1458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = _tmp9_;
#line 1458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 15554 "tracker-sparql-expression.c"
			} else {
#line 1458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 15562 "tracker-sparql-expression.c"
			}
		}
#line 1458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp8_) {
#line 15567 "tracker-sparql-expression.c"
			TrackerPropertyType _tmp10_ = 0;
			GString* _tmp11_ = NULL;
			TrackerPropertyType _tmp12_ = 0;
#line 1459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp11_ = sql;
#line 1459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp12_ = tracker_sparql_expression_translate_primary_expression (self, _tmp11_, &_inner_error_);
#line 1459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = _tmp12_;
#line 1459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15585 "tracker-sparql-expression.c"
				} else {
#line 1459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15593 "tracker-sparql-expression.c"
				}
			}
#line 1459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp10_;
#line 1459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 15600 "tracker-sparql-expression.c"
		} else {
			gboolean _tmp13_ = FALSE;
			gboolean _tmp14_ = FALSE;
#line 1460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp14_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_MINUS, &_inner_error_);
#line 1460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp13_ = _tmp14_;
#line 1460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15616 "tracker-sparql-expression.c"
				} else {
#line 1460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15624 "tracker-sparql-expression.c"
				}
			}
#line 1460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp13_) {
#line 15629 "tracker-sparql-expression.c"
				GString* _tmp15_ = NULL;
				TrackerPropertyType optype = 0;
				GString* _tmp16_ = NULL;
				TrackerPropertyType _tmp17_ = 0;
				GString* _tmp18_ = NULL;
#line 1461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp15_ = sql;
#line 1461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp15_, "-(");
#line 1462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp16_ = sql;
#line 1462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp17_ = tracker_sparql_expression_translate_primary_expression (self, _tmp16_, &_inner_error_);
#line 1462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				optype = _tmp17_;
#line 1462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 15653 "tracker-sparql-expression.c"
					} else {
#line 1462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 15661 "tracker-sparql-expression.c"
					}
				}
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp18_ = sql;
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp18_, ")");
#line 1464 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				result = optype;
#line 1464 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return result;
#line 15672 "tracker-sparql-expression.c"
			}
		}
	}
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp20_ = sql;
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp21_ = tracker_sparql_expression_translate_primary_expression (self, _tmp20_, &_inner_error_);
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp19_ = _tmp21_;
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 15690 "tracker-sparql-expression.c"
		} else {
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 15698 "tracker-sparql-expression.c"
		}
	}
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp19_;
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 15705 "tracker-sparql-expression.c"
}


static TrackerPropertyType tracker_sparql_expression_translate_multiplicative_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerPropertyType result = 0;
	glong begin = 0L;
	GString* _tmp0_ = NULL;
	gssize _tmp1_ = 0L;
	TrackerPropertyType optype = 0;
	GString* _tmp2_ = NULL;
	TrackerPropertyType _tmp3_ = 0;
	GError * _inner_error_ = NULL;
#line 1469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1470 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 1470 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _tmp0_->len;
#line 1470 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp1_;
#line 1471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = sql;
#line 1471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = tracker_sparql_expression_translate_unary_expression (self, _tmp2_, &_inner_error_);
#line 1471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	optype = _tmp3_;
#line 1471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 15742 "tracker-sparql-expression.c"
		} else {
#line 1471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 15750 "tracker-sparql-expression.c"
		}
	}
#line 1472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	while (TRUE) {
#line 15755 "tracker-sparql-expression.c"
		gboolean _tmp4_ = FALSE;
		gboolean _tmp5_ = FALSE;
#line 1473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_STAR, &_inner_error_);
#line 1473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = _tmp5_;
#line 1473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 15770 "tracker-sparql-expression.c"
			} else {
#line 1473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 15778 "tracker-sparql-expression.c"
			}
		}
#line 1473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp4_) {
#line 15783 "tracker-sparql-expression.c"
			TrackerPropertyType _tmp6_ = 0;
			gboolean _tmp7_ = FALSE;
			GString* _tmp9_ = NULL;
			glong _tmp10_ = 0L;
			GString* _tmp11_ = NULL;
			TrackerPropertyType _tmp12_ = 0;
			GString* _tmp13_ = NULL;
			TrackerPropertyType _tmp14_ = 0;
			gboolean _tmp15_ = FALSE;
			GString* _tmp17_ = NULL;
#line 1474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = optype;
#line 1474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = tracker_sparql_expression_maybe_numeric (self, _tmp6_);
#line 1474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (!_tmp7_) {
#line 15800 "tracker-sparql-expression.c"
				GError* _tmp8_ = NULL;
#line 1475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp8_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_inner_error_ = _tmp8_;
#line 1475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15812 "tracker-sparql-expression.c"
				} else {
#line 1475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15820 "tracker-sparql-expression.c"
				}
			}
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp9_ = sql;
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = begin;
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_insert (_tmp9_, (gssize) _tmp10_, "(");
#line 1478 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp11_ = sql;
#line 1478 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp11_, " * ");
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp13_ = sql;
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp14_ = tracker_sparql_expression_translate_unary_expression (self, _tmp13_, &_inner_error_);
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp12_ = _tmp14_;
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15847 "tracker-sparql-expression.c"
				} else {
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15855 "tracker-sparql-expression.c"
				}
			}
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp15_ = tracker_sparql_expression_maybe_numeric (self, _tmp12_);
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (!_tmp15_) {
#line 15862 "tracker-sparql-expression.c"
				GError* _tmp16_ = NULL;
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp16_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_inner_error_ = _tmp16_;
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15874 "tracker-sparql-expression.c"
				} else {
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15882 "tracker-sparql-expression.c"
				}
			}
#line 1482 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp17_ = sql;
#line 1482 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp17_, ")");
#line 15889 "tracker-sparql-expression.c"
		} else {
			gboolean _tmp18_ = FALSE;
			gboolean _tmp19_ = FALSE;
#line 1483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp19_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DIV, &_inner_error_);
#line 1483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp18_ = _tmp19_;
#line 1483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15905 "tracker-sparql-expression.c"
				} else {
#line 1483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15913 "tracker-sparql-expression.c"
				}
			}
#line 1483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp18_) {
#line 15918 "tracker-sparql-expression.c"
				TrackerPropertyType _tmp20_ = 0;
				gboolean _tmp21_ = FALSE;
				GString* _tmp23_ = NULL;
				glong _tmp24_ = 0L;
				GString* _tmp25_ = NULL;
				TrackerPropertyType _tmp26_ = 0;
				GString* _tmp27_ = NULL;
				TrackerPropertyType _tmp28_ = 0;
				gboolean _tmp29_ = FALSE;
				GString* _tmp31_ = NULL;
#line 1484 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp20_ = optype;
#line 1484 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp21_ = tracker_sparql_expression_maybe_numeric (self, _tmp20_);
#line 1484 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (!_tmp21_) {
#line 15935 "tracker-sparql-expression.c"
					GError* _tmp22_ = NULL;
#line 1485 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp22_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1485 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_inner_error_ = _tmp22_;
#line 1485 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1485 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1485 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 15947 "tracker-sparql-expression.c"
					} else {
#line 1485 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1485 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1485 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 15955 "tracker-sparql-expression.c"
					}
				}
#line 1487 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp23_ = sql;
#line 1487 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp24_ = begin;
#line 1487 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_insert (_tmp23_, (gssize) _tmp24_, "(");
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp25_ = sql;
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp25_, " / ");
#line 1489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp27_ = sql;
#line 1489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp28_ = tracker_sparql_expression_translate_unary_expression (self, _tmp27_, &_inner_error_);
#line 1489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp26_ = _tmp28_;
#line 1489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 15982 "tracker-sparql-expression.c"
					} else {
#line 1489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 15990 "tracker-sparql-expression.c"
					}
				}
#line 1489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp29_ = tracker_sparql_expression_maybe_numeric (self, _tmp26_);
#line 1489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (!_tmp29_) {
#line 15997 "tracker-sparql-expression.c"
					GError* _tmp30_ = NULL;
#line 1490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp30_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_inner_error_ = _tmp30_;
#line 1490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 16009 "tracker-sparql-expression.c"
					} else {
#line 1490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 16017 "tracker-sparql-expression.c"
					}
				}
#line 1492 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp31_ = sql;
#line 1492 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp31_, ")");
#line 16024 "tracker-sparql-expression.c"
			} else {
#line 1494 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				break;
#line 16028 "tracker-sparql-expression.c"
			}
		}
	}
#line 1497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = optype;
#line 1497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 16036 "tracker-sparql-expression.c"
}


static TrackerPropertyType tracker_sparql_expression_translate_additive_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerPropertyType result = 0;
	glong begin = 0L;
	GString* _tmp0_ = NULL;
	gssize _tmp1_ = 0L;
	TrackerPropertyType optype = 0;
	GString* _tmp2_ = NULL;
	TrackerPropertyType _tmp3_ = 0;
	GError * _inner_error_ = NULL;
#line 1500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1501 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 1501 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _tmp0_->len;
#line 1501 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp1_;
#line 1502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = sql;
#line 1502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = tracker_sparql_expression_translate_multiplicative_expression (self, _tmp2_, &_inner_error_);
#line 1502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	optype = _tmp3_;
#line 1502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16073 "tracker-sparql-expression.c"
		} else {
#line 1502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16081 "tracker-sparql-expression.c"
		}
	}
#line 1503 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	while (TRUE) {
#line 16086 "tracker-sparql-expression.c"
		gboolean _tmp4_ = FALSE;
		gboolean _tmp5_ = FALSE;
#line 1504 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_PLUS, &_inner_error_);
#line 1504 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = _tmp5_;
#line 1504 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1504 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1504 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1504 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16101 "tracker-sparql-expression.c"
			} else {
#line 1504 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1504 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1504 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16109 "tracker-sparql-expression.c"
			}
		}
#line 1504 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp4_) {
#line 16114 "tracker-sparql-expression.c"
			TrackerPropertyType _tmp6_ = 0;
			gboolean _tmp7_ = FALSE;
			GString* _tmp9_ = NULL;
			glong _tmp10_ = 0L;
			GString* _tmp11_ = NULL;
			TrackerPropertyType _tmp12_ = 0;
			GString* _tmp13_ = NULL;
			TrackerPropertyType _tmp14_ = 0;
			gboolean _tmp15_ = FALSE;
			GString* _tmp17_ = NULL;
#line 1505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = optype;
#line 1505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = tracker_sparql_expression_maybe_numeric (self, _tmp6_);
#line 1505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (!_tmp7_) {
#line 16131 "tracker-sparql-expression.c"
				GError* _tmp8_ = NULL;
#line 1506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp8_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_inner_error_ = _tmp8_;
#line 1506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16143 "tracker-sparql-expression.c"
				} else {
#line 1506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16151 "tracker-sparql-expression.c"
				}
			}
#line 1508 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp9_ = sql;
#line 1508 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = begin;
#line 1508 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_insert (_tmp9_, (gssize) _tmp10_, "(");
#line 1509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp11_ = sql;
#line 1509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp11_, " + ");
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp13_ = sql;
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp14_ = tracker_sparql_expression_translate_multiplicative_expression (self, _tmp13_, &_inner_error_);
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp12_ = _tmp14_;
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16178 "tracker-sparql-expression.c"
				} else {
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16186 "tracker-sparql-expression.c"
				}
			}
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp15_ = tracker_sparql_expression_maybe_numeric (self, _tmp12_);
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (!_tmp15_) {
#line 16193 "tracker-sparql-expression.c"
				GError* _tmp16_ = NULL;
#line 1511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp16_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_inner_error_ = _tmp16_;
#line 1511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16205 "tracker-sparql-expression.c"
				} else {
#line 1511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16213 "tracker-sparql-expression.c"
				}
			}
#line 1513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp17_ = sql;
#line 1513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp17_, ")");
#line 16220 "tracker-sparql-expression.c"
		} else {
			gboolean _tmp18_ = FALSE;
			gboolean _tmp19_ = FALSE;
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp19_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_MINUS, &_inner_error_);
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp18_ = _tmp19_;
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16236 "tracker-sparql-expression.c"
				} else {
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16244 "tracker-sparql-expression.c"
				}
			}
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp18_) {
#line 16249 "tracker-sparql-expression.c"
				TrackerPropertyType _tmp20_ = 0;
				gboolean _tmp21_ = FALSE;
				GString* _tmp23_ = NULL;
				glong _tmp24_ = 0L;
				GString* _tmp25_ = NULL;
				TrackerPropertyType _tmp26_ = 0;
				GString* _tmp27_ = NULL;
				TrackerPropertyType _tmp28_ = 0;
				gboolean _tmp29_ = FALSE;
				GString* _tmp31_ = NULL;
#line 1515 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp20_ = optype;
#line 1515 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp21_ = tracker_sparql_expression_maybe_numeric (self, _tmp20_);
#line 1515 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (!_tmp21_) {
#line 16266 "tracker-sparql-expression.c"
					GError* _tmp22_ = NULL;
#line 1516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp22_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_inner_error_ = _tmp22_;
#line 1516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 16278 "tracker-sparql-expression.c"
					} else {
#line 1516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 16286 "tracker-sparql-expression.c"
					}
				}
#line 1518 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp23_ = sql;
#line 1518 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp24_ = begin;
#line 1518 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_insert (_tmp23_, (gssize) _tmp24_, "(");
#line 1519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp25_ = sql;
#line 1519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp25_, " - ");
#line 1520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp27_ = sql;
#line 1520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp28_ = tracker_sparql_expression_translate_multiplicative_expression (self, _tmp27_, &_inner_error_);
#line 1520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp26_ = _tmp28_;
#line 1520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 16313 "tracker-sparql-expression.c"
					} else {
#line 1520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 16321 "tracker-sparql-expression.c"
					}
				}
#line 1520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp29_ = tracker_sparql_expression_maybe_numeric (self, _tmp26_);
#line 1520 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (!_tmp29_) {
#line 16328 "tracker-sparql-expression.c"
					GError* _tmp30_ = NULL;
#line 1521 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp30_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1521 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_inner_error_ = _tmp30_;
#line 1521 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1521 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1521 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 16340 "tracker-sparql-expression.c"
					} else {
#line 1521 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1521 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1521 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 16348 "tracker-sparql-expression.c"
					}
				}
#line 1523 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp31_ = sql;
#line 1523 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (_tmp31_, ")");
#line 16355 "tracker-sparql-expression.c"
			} else {
#line 1525 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				break;
#line 16359 "tracker-sparql-expression.c"
			}
		}
	}
#line 1528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = optype;
#line 1528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 16367 "tracker-sparql-expression.c"
}


static TrackerPropertyType tracker_sparql_expression_translate_numeric_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerPropertyType result = 0;
	TrackerPropertyType _tmp0_ = 0;
	GString* _tmp1_ = NULL;
	TrackerPropertyType _tmp2_ = 0;
	GError * _inner_error_ = NULL;
#line 1531 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1531 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = sql;
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = tracker_sparql_expression_translate_additive_expression (self, _tmp1_, &_inner_error_);
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = _tmp2_;
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16395 "tracker-sparql-expression.c"
		} else {
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16403 "tracker-sparql-expression.c"
		}
	}
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp0_;
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 16410 "tracker-sparql-expression.c"
}


static TrackerPropertyType tracker_sparql_expression_process_relational_expression (TrackerSparqlExpression* self, GString* sql, glong begin, guint n_bindings, TrackerPropertyType op1type, const gchar* operator, GError** error) {
	TrackerPropertyType result = 0;
	GString* _tmp0_ = NULL;
	glong _tmp1_ = 0L;
	GString* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	TrackerPropertyType op2type = 0;
	GString* _tmp4_ = NULL;
	TrackerPropertyType _tmp5_ = 0;
	GString* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	gboolean _tmp8_ = FALSE;
	TrackerPropertyType _tmp9_ = 0;
	GError * _inner_error_ = NULL;
#line 1535 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1535 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1535 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (operator != NULL, 0);
#line 1536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 1536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = begin;
#line 1536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_insert (_tmp0_, (gssize) _tmp1_, "(");
#line 1537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = sql;
#line 1537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = operator;
#line 1537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp2_, _tmp3_);
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp4_ = sql;
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp5_ = tracker_sparql_expression_translate_numeric_expression (self, _tmp4_, &_inner_error_);
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	op2type = _tmp5_;
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16460 "tracker-sparql-expression.c"
		} else {
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16468 "tracker-sparql-expression.c"
		}
	}
#line 1539 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp6_ = sql;
#line 1539 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp6_, ")");
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp9_ = op1type;
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp9_ == TRACKER_PROPERTY_TYPE_DATETIME) {
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = op2type == TRACKER_PROPERTY_TYPE_STRING;
#line 16481 "tracker-sparql-expression.c"
	} else {
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = FALSE;
#line 16485 "tracker-sparql-expression.c"
	}
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp8_) {
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = TRUE;
#line 16491 "tracker-sparql-expression.c"
	} else {
		gboolean _tmp10_ = FALSE;
		TrackerPropertyType _tmp11_ = 0;
#line 1541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = op1type;
#line 1541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp11_ == TRACKER_PROPERTY_TYPE_STRING) {
#line 1541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = op2type == TRACKER_PROPERTY_TYPE_DATETIME;
#line 16501 "tracker-sparql-expression.c"
		} else {
#line 1541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = FALSE;
#line 16505 "tracker-sparql-expression.c"
		}
#line 1541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = _tmp10_;
#line 16509 "tracker-sparql-expression.c"
	}
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp7_) {
#line 16513 "tracker-sparql-expression.c"
		TrackerSparqlQuery* _tmp12_ = NULL;
		GList* _tmp13_ = NULL;
		guint _tmp14_ = 0U;
		guint _tmp15_ = 0U;
#line 1543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp12_ = self->priv->query;
#line 1543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp13_ = _tmp12_->bindings;
#line 1543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp14_ = g_list_length (_tmp13_);
#line 1543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp15_ = n_bindings;
#line 1543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp14_ == (_tmp15_ + 1)) {
#line 16528 "tracker-sparql-expression.c"
			TrackerSparqlQuery* _tmp16_ = NULL;
			GList* _tmp17_ = NULL;
			GList* _tmp18_ = NULL;
			gconstpointer _tmp19_ = NULL;
#line 1545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp16_ = self->priv->query;
#line 1545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp17_ = _tmp16_->bindings;
#line 1545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp18_ = g_list_last (_tmp17_);
#line 1545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp19_ = _tmp18_->data;
#line 1545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			((TrackerSparqlDataBinding*) ((TrackerSparqlLiteralBinding*) _tmp19_))->data_type = TRACKER_PROPERTY_TYPE_DATETIME;
#line 16543 "tracker-sparql-expression.c"
		}
	} else {
		gboolean _tmp20_ = FALSE;
		gboolean _tmp21_ = FALSE;
		TrackerPropertyType _tmp22_ = 0;
#line 1547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp22_ = op1type;
#line 1547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp22_ == TRACKER_PROPERTY_TYPE_DATE) {
#line 1547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp21_ = op2type == TRACKER_PROPERTY_TYPE_STRING;
#line 16555 "tracker-sparql-expression.c"
		} else {
#line 1547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp21_ = FALSE;
#line 16559 "tracker-sparql-expression.c"
		}
#line 1547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp21_) {
#line 1547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp20_ = TRUE;
#line 16565 "tracker-sparql-expression.c"
		} else {
			gboolean _tmp23_ = FALSE;
			TrackerPropertyType _tmp24_ = 0;
#line 1548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp24_ = op1type;
#line 1548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp24_ == TRACKER_PROPERTY_TYPE_STRING) {
#line 1548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp23_ = op2type == TRACKER_PROPERTY_TYPE_DATE;
#line 16575 "tracker-sparql-expression.c"
			} else {
#line 1548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp23_ = FALSE;
#line 16579 "tracker-sparql-expression.c"
			}
#line 1548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp20_ = _tmp23_;
#line 16583 "tracker-sparql-expression.c"
		}
#line 1547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp20_) {
#line 16587 "tracker-sparql-expression.c"
			TrackerSparqlQuery* _tmp25_ = NULL;
			GList* _tmp26_ = NULL;
			guint _tmp27_ = 0U;
			guint _tmp28_ = 0U;
#line 1550 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp25_ = self->priv->query;
#line 1550 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp26_ = _tmp25_->bindings;
#line 1550 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp27_ = g_list_length (_tmp26_);
#line 1550 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp28_ = n_bindings;
#line 1550 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp27_ == (_tmp28_ + 1)) {
#line 16602 "tracker-sparql-expression.c"
				TrackerSparqlQuery* _tmp29_ = NULL;
				GList* _tmp30_ = NULL;
				GList* _tmp31_ = NULL;
				gconstpointer _tmp32_ = NULL;
#line 1552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp29_ = self->priv->query;
#line 1552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp30_ = _tmp29_->bindings;
#line 1552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp31_ = g_list_last (_tmp30_);
#line 1552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp32_ = _tmp31_->data;
#line 1552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				((TrackerSparqlDataBinding*) ((TrackerSparqlLiteralBinding*) _tmp32_))->data_type = TRACKER_PROPERTY_TYPE_DATE;
#line 16617 "tracker-sparql-expression.c"
			}
		}
	}
#line 1555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 16625 "tracker-sparql-expression.c"
}


static TrackerPropertyType tracker_sparql_expression_translate_in (TrackerSparqlExpression* self, GString* sql, gboolean not, GError** error) {
	TrackerPropertyType result = 0;
	gint in_variable_count = 0;
	gboolean _tmp0_ = FALSE;
	GString* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
	GString* _tmp18_ = NULL;
	GError * _inner_error_ = NULL;
#line 1558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	in_variable_count = 0;
#line 1562 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = not;
#line 1562 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 16648 "tracker-sparql-expression.c"
		GString* _tmp1_ = NULL;
#line 1563 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = sql;
#line 1563 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp1_, " NOT");
#line 16654 "tracker-sparql-expression.c"
	}
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16666 "tracker-sparql-expression.c"
		} else {
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16674 "tracker-sparql-expression.c"
		}
	}
#line 1567 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = sql;
#line 1567 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp2_, " IN (");
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp4_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = _tmp4_;
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16693 "tracker-sparql-expression.c"
		} else {
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16701 "tracker-sparql-expression.c"
		}
	}
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (!_tmp3_) {
#line 16706 "tracker-sparql-expression.c"
		gint _tmp5_ = 0;
		GString* _tmp6_ = NULL;
#line 1569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = in_variable_count;
#line 1569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		in_variable_count = _tmp5_ + 1;
#line 1570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = sql;
#line 1570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_translate_expression (self, _tmp6_, &_inner_error_);
#line 1570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16725 "tracker-sparql-expression.c"
			} else {
#line 1570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16733 "tracker-sparql-expression.c"
			}
		}
#line 1571 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		while (TRUE) {
#line 16738 "tracker-sparql-expression.c"
			gboolean _tmp7_ = FALSE;
			gboolean _tmp8_ = FALSE;
			GString* _tmp9_ = NULL;
			gint _tmp10_ = 0;
			gboolean _tmp11_ = FALSE;
			gint _tmp12_ = 0;
			GString* _tmp17_ = NULL;
#line 1571 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp8_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 1571 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = _tmp8_;
#line 1571 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1571 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1571 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1571 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16758 "tracker-sparql-expression.c"
				} else {
#line 1571 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1571 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1571 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16766 "tracker-sparql-expression.c"
				}
			}
#line 1571 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (!_tmp7_) {
#line 1571 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				break;
#line 16773 "tracker-sparql-expression.c"
			}
#line 1572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp9_ = sql;
#line 1572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (_tmp9_, ", ");
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = in_variable_count;
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			in_variable_count = _tmp10_ + 1;
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp12_ = in_variable_count;
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp12_ > TRACKER_SPARQL_EXPRESSION_MAX_VARIABLES_FOR_IN) {
#line 16787 "tracker-sparql-expression.c"
				TrackerSparqlQuery* _tmp13_ = NULL;
				gboolean _tmp14_ = FALSE;
				gboolean _tmp15_ = FALSE;
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp13_ = self->priv->query;
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp14_ = tracker_sparql_query_get_no_cache (_tmp13_);
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp15_ = _tmp14_;
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp11_ = !_tmp15_;
#line 16799 "tracker-sparql-expression.c"
			} else {
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp11_ = FALSE;
#line 16803 "tracker-sparql-expression.c"
			}
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp11_) {
#line 16807 "tracker-sparql-expression.c"
				TrackerSparqlQuery* _tmp16_ = NULL;
#line 1577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp16_ = self->priv->query;
#line 1577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_query_set_no_cache (_tmp16_, TRUE);
#line 16813 "tracker-sparql-expression.c"
			}
#line 1580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp17_ = sql;
#line 1580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression (self, _tmp17_, &_inner_error_);
#line 1580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16827 "tracker-sparql-expression.c"
				} else {
#line 1580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16835 "tracker-sparql-expression.c"
				}
			}
		}
#line 1582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16849 "tracker-sparql-expression.c"
			} else {
#line 1582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16857 "tracker-sparql-expression.c"
			}
		}
	}
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp18_ = sql;
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (_tmp18_, ")");
#line 1586 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1586 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 16869 "tracker-sparql-expression.c"
}


static TrackerPropertyType tracker_sparql_expression_translate_relational_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerPropertyType result = 0;
	glong begin = 0L;
	GString* _tmp0_ = NULL;
	gssize _tmp1_ = 0L;
	guint n_bindings = 0U;
	TrackerSparqlQuery* _tmp2_ = NULL;
	GList* _tmp3_ = NULL;
	guint _tmp4_ = 0U;
	TrackerPropertyType optype = 0;
	GString* _tmp5_ = NULL;
	TrackerPropertyType _tmp6_ = 0;
	gboolean _tmp7_ = FALSE;
	gboolean _tmp8_ = FALSE;
	GError * _inner_error_ = NULL;
#line 1589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 1590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _tmp0_->len;
#line 1590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp1_;
#line 1592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = self->priv->query;
#line 1592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = _tmp2_->bindings;
#line 1592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp4_ = g_list_length (_tmp3_);
#line 1592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	n_bindings = _tmp4_;
#line 1593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp5_ = sql;
#line 1593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp6_ = tracker_sparql_expression_translate_numeric_expression (self, _tmp5_, &_inner_error_);
#line 1593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	optype = _tmp6_;
#line 1593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16920 "tracker-sparql-expression.c"
		} else {
#line 1593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16928 "tracker-sparql-expression.c"
		}
	}
#line 1594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp8_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_GE, &_inner_error_);
#line 1594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp7_ = _tmp8_;
#line 1594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16943 "tracker-sparql-expression.c"
		} else {
#line 1594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16951 "tracker-sparql-expression.c"
		}
	}
#line 1594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp7_) {
#line 16956 "tracker-sparql-expression.c"
		TrackerPropertyType _tmp9_ = 0;
		GString* _tmp10_ = NULL;
		glong _tmp11_ = 0L;
		guint _tmp12_ = 0U;
		TrackerPropertyType _tmp13_ = 0;
		TrackerPropertyType _tmp14_ = 0;
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_ = sql;
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = begin;
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp12_ = n_bindings;
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp13_ = optype;
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp14_ = tracker_sparql_expression_process_relational_expression (self, _tmp10_, _tmp11_, _tmp12_, _tmp13_, " >= ", &_inner_error_);
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = _tmp14_;
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16983 "tracker-sparql-expression.c"
			} else {
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16991 "tracker-sparql-expression.c"
			}
		}
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		result = _tmp9_;
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		return result;
#line 16998 "tracker-sparql-expression.c"
	} else {
		gboolean _tmp15_ = FALSE;
		gboolean _tmp16_ = FALSE;
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp16_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_EQ, &_inner_error_);
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp15_ = _tmp16_;
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17014 "tracker-sparql-expression.c"
			} else {
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17022 "tracker-sparql-expression.c"
			}
		}
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp15_) {
#line 17027 "tracker-sparql-expression.c"
			TrackerPropertyType _tmp17_ = 0;
			GString* _tmp18_ = NULL;
			glong _tmp19_ = 0L;
			guint _tmp20_ = 0U;
			TrackerPropertyType _tmp21_ = 0;
			TrackerPropertyType _tmp22_ = 0;
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp18_ = sql;
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp19_ = begin;
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp20_ = n_bindings;
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp21_ = optype;
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp22_ = tracker_sparql_expression_process_relational_expression (self, _tmp18_, _tmp19_, _tmp20_, _tmp21_, " = ", &_inner_error_);
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp17_ = _tmp22_;
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 17054 "tracker-sparql-expression.c"
				} else {
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 17062 "tracker-sparql-expression.c"
				}
			}
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp17_;
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 17069 "tracker-sparql-expression.c"
		} else {
			gboolean _tmp23_ = FALSE;
			gboolean _tmp24_ = FALSE;
#line 1598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp24_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_NE, &_inner_error_);
#line 1598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp23_ = _tmp24_;
#line 1598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 17085 "tracker-sparql-expression.c"
				} else {
#line 1598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 17093 "tracker-sparql-expression.c"
				}
			}
#line 1598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp23_) {
#line 17098 "tracker-sparql-expression.c"
				TrackerPropertyType _tmp25_ = 0;
				GString* _tmp26_ = NULL;
				glong _tmp27_ = 0L;
				guint _tmp28_ = 0U;
				TrackerPropertyType _tmp29_ = 0;
				TrackerPropertyType _tmp30_ = 0;
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp26_ = sql;
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp27_ = begin;
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp28_ = n_bindings;
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp29_ = optype;
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp30_ = tracker_sparql_expression_process_relational_expression (self, _tmp26_, _tmp27_, _tmp28_, _tmp29_, " <> ", &_inner_error_);
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp25_ = _tmp30_;
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 17125 "tracker-sparql-expression.c"
					} else {
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 17133 "tracker-sparql-expression.c"
					}
				}
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				result = _tmp25_;
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return result;
#line 17140 "tracker-sparql-expression.c"
			} else {
				gboolean _tmp31_ = FALSE;
				gboolean _tmp32_ = FALSE;
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp32_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_LT, &_inner_error_);
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp31_ = _tmp32_;
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 17156 "tracker-sparql-expression.c"
					} else {
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 17164 "tracker-sparql-expression.c"
					}
				}
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_tmp31_) {
#line 17169 "tracker-sparql-expression.c"
					TrackerPropertyType _tmp33_ = 0;
					GString* _tmp34_ = NULL;
					glong _tmp35_ = 0L;
					guint _tmp36_ = 0U;
					TrackerPropertyType _tmp37_ = 0;
					TrackerPropertyType _tmp38_ = 0;
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp34_ = sql;
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp35_ = begin;
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp36_ = n_bindings;
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp37_ = optype;
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp38_ = tracker_sparql_expression_process_relational_expression (self, _tmp34_, _tmp35_, _tmp36_, _tmp37_, " < ", &_inner_error_);
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp33_ = _tmp38_;
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_propagate_error (error, _inner_error_);
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							return 0;
#line 17196 "tracker-sparql-expression.c"
						} else {
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_clear_error (&_inner_error_);
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							return 0;
#line 17204 "tracker-sparql-expression.c"
						}
					}
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					result = _tmp33_;
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return result;
#line 17211 "tracker-sparql-expression.c"
				} else {
					gboolean _tmp39_ = FALSE;
					gboolean _tmp40_ = FALSE;
#line 1602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp40_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_LE, &_inner_error_);
#line 1602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp39_ = _tmp40_;
#line 1602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_propagate_error (error, _inner_error_);
#line 1602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							return 0;
#line 17227 "tracker-sparql-expression.c"
						} else {
#line 1602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_clear_error (&_inner_error_);
#line 1602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							return 0;
#line 17235 "tracker-sparql-expression.c"
						}
					}
#line 1602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_tmp39_) {
#line 17240 "tracker-sparql-expression.c"
						TrackerPropertyType _tmp41_ = 0;
						GString* _tmp42_ = NULL;
						glong _tmp43_ = 0L;
						guint _tmp44_ = 0U;
						TrackerPropertyType _tmp45_ = 0;
						TrackerPropertyType _tmp46_ = 0;
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp42_ = sql;
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp43_ = begin;
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp44_ = n_bindings;
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp45_ = optype;
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp46_ = tracker_sparql_expression_process_relational_expression (self, _tmp42_, _tmp43_, _tmp44_, _tmp45_, " <= ", &_inner_error_);
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp41_ = _tmp46_;
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_propagate_error (error, _inner_error_);
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return 0;
#line 17267 "tracker-sparql-expression.c"
							} else {
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_clear_error (&_inner_error_);
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return 0;
#line 17275 "tracker-sparql-expression.c"
							}
						}
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						result = _tmp41_;
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return result;
#line 17282 "tracker-sparql-expression.c"
					} else {
						gboolean _tmp47_ = FALSE;
						gboolean _tmp48_ = FALSE;
#line 1604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp48_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_GT, &_inner_error_);
#line 1604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp47_ = _tmp48_;
#line 1604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_propagate_error (error, _inner_error_);
#line 1604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return 0;
#line 17298 "tracker-sparql-expression.c"
							} else {
#line 1604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_clear_error (&_inner_error_);
#line 1604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return 0;
#line 17306 "tracker-sparql-expression.c"
							}
						}
#line 1604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						if (_tmp47_) {
#line 17311 "tracker-sparql-expression.c"
							TrackerPropertyType _tmp49_ = 0;
							GString* _tmp50_ = NULL;
							glong _tmp51_ = 0L;
							guint _tmp52_ = 0U;
							TrackerPropertyType _tmp53_ = 0;
							TrackerPropertyType _tmp54_ = 0;
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp50_ = sql;
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp51_ = begin;
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp52_ = n_bindings;
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp53_ = optype;
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp54_ = tracker_sparql_expression_process_relational_expression (self, _tmp50_, _tmp51_, _tmp52_, _tmp53_, " > ", &_inner_error_);
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp49_ = _tmp54_;
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_propagate_error (error, _inner_error_);
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									return 0;
#line 17338 "tracker-sparql-expression.c"
								} else {
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_clear_error (&_inner_error_);
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									return 0;
#line 17346 "tracker-sparql-expression.c"
								}
							}
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							result = _tmp49_;
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							return result;
#line 17353 "tracker-sparql-expression.c"
						} else {
							gboolean _tmp55_ = FALSE;
							gboolean _tmp56_ = FALSE;
#line 1606 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp56_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_IN, &_inner_error_);
#line 1606 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp55_ = _tmp56_;
#line 1606 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1606 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1606 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_propagate_error (error, _inner_error_);
#line 1606 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									return 0;
#line 17369 "tracker-sparql-expression.c"
								} else {
#line 1606 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1606 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_clear_error (&_inner_error_);
#line 1606 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									return 0;
#line 17377 "tracker-sparql-expression.c"
								}
							}
#line 1606 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (_tmp55_) {
#line 17382 "tracker-sparql-expression.c"
								TrackerPropertyType _tmp57_ = 0;
								GString* _tmp58_ = NULL;
								TrackerPropertyType _tmp59_ = 0;
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								_tmp58_ = sql;
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								_tmp59_ = tracker_sparql_expression_translate_in (self, _tmp58_, FALSE, &_inner_error_);
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								_tmp57_ = _tmp59_;
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_propagate_error (error, _inner_error_);
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										return 0;
#line 17400 "tracker-sparql-expression.c"
									} else {
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_clear_error (&_inner_error_);
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										return 0;
#line 17408 "tracker-sparql-expression.c"
									}
								}
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								result = _tmp57_;
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return result;
#line 17415 "tracker-sparql-expression.c"
							} else {
								gboolean _tmp60_ = FALSE;
								gboolean _tmp61_ = FALSE;
#line 1608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								_tmp61_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_NOT, &_inner_error_);
#line 1608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								_tmp60_ = _tmp61_;
#line 1608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_propagate_error (error, _inner_error_);
#line 1608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										return 0;
#line 17431 "tracker-sparql-expression.c"
									} else {
#line 1608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_clear_error (&_inner_error_);
#line 1608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										return 0;
#line 17439 "tracker-sparql-expression.c"
									}
								}
#line 1608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (_tmp60_) {
#line 17444 "tracker-sparql-expression.c"
									TrackerPropertyType _tmp62_ = 0;
									GString* _tmp63_ = NULL;
									TrackerPropertyType _tmp64_ = 0;
#line 1609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OP_IN, &_inner_error_);
#line 1609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_propagate_error (error, _inner_error_);
#line 1609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											return 0;
#line 17458 "tracker-sparql-expression.c"
										} else {
#line 1609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_clear_error (&_inner_error_);
#line 1609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											return 0;
#line 17466 "tracker-sparql-expression.c"
										}
									}
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									_tmp63_ = sql;
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									_tmp64_ = tracker_sparql_expression_translate_in (self, _tmp63_, TRUE, &_inner_error_);
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									_tmp62_ = _tmp64_;
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_propagate_error (error, _inner_error_);
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											return 0;
#line 17483 "tracker-sparql-expression.c"
										} else {
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_clear_error (&_inner_error_);
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											return 0;
#line 17491 "tracker-sparql-expression.c"
										}
									}
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									result = _tmp62_;
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									return result;
#line 17498 "tracker-sparql-expression.c"
								}
							}
						}
					}
				}
			}
		}
	}
#line 1612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = optype;
#line 1612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 17511 "tracker-sparql-expression.c"
}


static TrackerPropertyType tracker_sparql_expression_translate_value_logical (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerPropertyType result = 0;
	TrackerPropertyType _tmp0_ = 0;
	GString* _tmp1_ = NULL;
	TrackerPropertyType _tmp2_ = 0;
	GError * _inner_error_ = NULL;
#line 1615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = sql;
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = tracker_sparql_expression_translate_relational_expression (self, _tmp1_, &_inner_error_);
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = _tmp2_;
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 17539 "tracker-sparql-expression.c"
		} else {
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 17547 "tracker-sparql-expression.c"
		}
	}
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp0_;
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 17554 "tracker-sparql-expression.c"
}


static TrackerPropertyType tracker_sparql_expression_translate_conditional_and_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerPropertyType result = 0;
	glong begin = 0L;
	GString* _tmp0_ = NULL;
	gssize _tmp1_ = 0L;
	TrackerPropertyType optype = 0;
	GString* _tmp2_ = NULL;
	TrackerPropertyType _tmp3_ = 0;
	GError * _inner_error_ = NULL;
#line 1619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 1620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _tmp0_->len;
#line 1620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp1_;
#line 1621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = sql;
#line 1621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = tracker_sparql_expression_translate_value_logical (self, _tmp2_, &_inner_error_);
#line 1621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	optype = _tmp3_;
#line 1621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 17591 "tracker-sparql-expression.c"
		} else {
#line 1621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 17599 "tracker-sparql-expression.c"
		}
	}
#line 1622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	while (TRUE) {
#line 17604 "tracker-sparql-expression.c"
		gboolean _tmp4_ = FALSE;
		gboolean _tmp5_ = FALSE;
		TrackerPropertyType _tmp6_ = 0;
		GString* _tmp8_ = NULL;
		glong _tmp9_ = 0L;
		GString* _tmp10_ = NULL;
		TrackerPropertyType _tmp11_ = 0;
		GString* _tmp12_ = NULL;
		TrackerPropertyType _tmp13_ = 0;
		GString* _tmp14_ = NULL;
		TrackerPropertyType _tmp15_ = 0;
#line 1622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_AND, &_inner_error_);
#line 1622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = _tmp5_;
#line 1622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17628 "tracker-sparql-expression.c"
			} else {
#line 1622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17636 "tracker-sparql-expression.c"
			}
		}
#line 1622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (!_tmp4_) {
#line 1622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 17643 "tracker-sparql-expression.c"
		}
#line 1623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = optype;
#line 1623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp6_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
#line 17649 "tracker-sparql-expression.c"
			GError* _tmp7_ = NULL;
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp7_;
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17661 "tracker-sparql-expression.c"
			} else {
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17669 "tracker-sparql-expression.c"
			}
		}
#line 1626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = sql;
#line 1626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = begin;
#line 1626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_insert (_tmp8_, (gssize) _tmp9_, "(");
#line 1627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_ = sql;
#line 1627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp10_, " AND ");
#line 1628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp12_ = sql;
#line 1628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp13_ = tracker_sparql_expression_translate_value_logical (self, _tmp12_, &_inner_error_);
#line 1628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = _tmp13_;
#line 1628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17696 "tracker-sparql-expression.c"
			} else {
#line 1628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17704 "tracker-sparql-expression.c"
			}
		}
#line 1628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		optype = _tmp11_;
#line 1629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp14_ = sql;
#line 1629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp14_, ")");
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp15_ = optype;
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp15_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
#line 17717 "tracker-sparql-expression.c"
			GError* _tmp16_ = NULL;
#line 1631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp16_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
#line 1631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp16_;
#line 1631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17729 "tracker-sparql-expression.c"
			} else {
#line 1631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17737 "tracker-sparql-expression.c"
			}
		}
	}
#line 1634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = optype;
#line 1634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 17745 "tracker-sparql-expression.c"
}


static TrackerPropertyType tracker_sparql_expression_translate_conditional_or_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerPropertyType result = 0;
	glong begin = 0L;
	GString* _tmp0_ = NULL;
	gssize _tmp1_ = 0L;
	TrackerPropertyType optype = 0;
	GString* _tmp2_ = NULL;
	TrackerPropertyType _tmp3_ = 0;
	GError * _inner_error_ = NULL;
#line 1637 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1637 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql;
#line 1638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _tmp0_->len;
#line 1638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp1_;
#line 1639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = sql;
#line 1639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = tracker_sparql_expression_translate_conditional_and_expression (self, _tmp2_, &_inner_error_);
#line 1639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	optype = _tmp3_;
#line 1639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 17782 "tracker-sparql-expression.c"
		} else {
#line 1639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 17790 "tracker-sparql-expression.c"
		}
	}
#line 1640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	while (TRUE) {
#line 17795 "tracker-sparql-expression.c"
		gboolean _tmp4_ = FALSE;
		gboolean _tmp5_ = FALSE;
		TrackerPropertyType _tmp6_ = 0;
		GString* _tmp8_ = NULL;
		glong _tmp9_ = 0L;
		GString* _tmp10_ = NULL;
		TrackerPropertyType _tmp11_ = 0;
		GString* _tmp12_ = NULL;
		TrackerPropertyType _tmp13_ = 0;
		GString* _tmp14_ = NULL;
		TrackerPropertyType _tmp15_ = 0;
#line 1640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_OR, &_inner_error_);
#line 1640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = _tmp5_;
#line 1640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17819 "tracker-sparql-expression.c"
			} else {
#line 1640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17827 "tracker-sparql-expression.c"
			}
		}
#line 1640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (!_tmp4_) {
#line 1640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 17834 "tracker-sparql-expression.c"
		}
#line 1641 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = optype;
#line 1641 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp6_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
#line 17840 "tracker-sparql-expression.c"
			GError* _tmp7_ = NULL;
#line 1642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
#line 1642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp7_;
#line 1642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17852 "tracker-sparql-expression.c"
			} else {
#line 1642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17860 "tracker-sparql-expression.c"
			}
		}
#line 1644 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = sql;
#line 1644 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = begin;
#line 1644 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_insert (_tmp8_, (gssize) _tmp9_, "(");
#line 1645 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_ = sql;
#line 1645 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp10_, " OR ");
#line 1646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp12_ = sql;
#line 1646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp13_ = tracker_sparql_expression_translate_conditional_and_expression (self, _tmp12_, &_inner_error_);
#line 1646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = _tmp13_;
#line 1646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17887 "tracker-sparql-expression.c"
			} else {
#line 1646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17895 "tracker-sparql-expression.c"
			}
		}
#line 1646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		optype = _tmp11_;
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp14_ = sql;
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp14_, ")");
#line 1648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp15_ = optype;
#line 1648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp15_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
#line 17908 "tracker-sparql-expression.c"
			GError* _tmp16_ = NULL;
#line 1649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp16_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
#line 1649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp16_;
#line 1649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17920 "tracker-sparql-expression.c"
			} else {
#line 1649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 17928 "tracker-sparql-expression.c"
			}
		}
	}
#line 1652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = optype;
#line 1652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 17936 "tracker-sparql-expression.c"
}


TrackerPropertyType tracker_sparql_expression_translate_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerPropertyType result = 0;
	TrackerPropertyType _tmp0_ = 0;
	GString* _tmp1_ = NULL;
	TrackerPropertyType _tmp2_ = 0;
	GError * _inner_error_ = NULL;
#line 1655 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1655 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = sql;
#line 1656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = tracker_sparql_expression_translate_conditional_or_expression (self, _tmp1_, &_inner_error_);
#line 1656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = _tmp2_;
#line 1656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 17964 "tracker-sparql-expression.c"
		} else {
#line 1656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 17972 "tracker-sparql-expression.c"
		}
	}
#line 1656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp0_;
#line 1656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 17979 "tracker-sparql-expression.c"
}


static TrackerPropertyType tracker_sparql_expression_translate_bracketted_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerPropertyType result = 0;
	TrackerSparqlTokenType _tmp0_ = 0;
	TrackerPropertyType optype = 0;
	GString* _tmp9_ = NULL;
	TrackerPropertyType _tmp10_ = 0;
	GError * _inner_error_ = NULL;
#line 1659 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1659 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 18004 "tracker-sparql-expression.c"
		} else {
#line 1660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 18012 "tracker-sparql-expression.c"
		}
	}
#line 1662 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_current (self);
#line 1662 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_ == TRACKER_SPARQL_TOKEN_TYPE_SELECT) {
#line 18019 "tracker-sparql-expression.c"
		GString* _tmp1_ = NULL;
		TrackerSparqlSelectContext* select_context = NULL;
		TrackerSparqlPattern* _tmp2_ = NULL;
		TrackerSparqlPattern* _tmp3_ = NULL;
		GString* _tmp4_ = NULL;
		TrackerSparqlSelectContext* _tmp5_ = NULL;
		GString* _tmp6_ = NULL;
		TrackerSparqlSelectContext* _tmp7_ = NULL;
		TrackerPropertyType _tmp8_ = 0;
#line 1665 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = sql;
#line 1665 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp1_, "(");
#line 1666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = tracker_sparql_expression_get_pattern (self);
#line 1666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = _tmp2_;
#line 1666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = sql;
#line 1666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = tracker_sparql_pattern_translate_select (_tmp3_, _tmp4_, TRUE, TRUE, &_inner_error_);
#line 1666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		select_context = _tmp5_;
#line 1666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 18051 "tracker-sparql-expression.c"
			} else {
#line 1666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 18059 "tracker-sparql-expression.c"
			}
		}
#line 1667 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = sql;
#line 1667 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp6_, ")");
#line 1669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tracker_sparql_context_unref0 (select_context);
#line 1669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 18078 "tracker-sparql-expression.c"
			} else {
#line 1669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tracker_sparql_context_unref0 (select_context);
#line 1669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 18088 "tracker-sparql-expression.c"
			}
		}
#line 1670 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = select_context;
#line 1670 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = _tmp7_->type;
#line 1670 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		result = _tmp8_;
#line 1670 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tracker_sparql_context_unref0 (select_context);
#line 1670 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		return result;
#line 18101 "tracker-sparql-expression.c"
	}
#line 1673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp9_ = sql;
#line 1673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp10_ = tracker_sparql_expression_translate_expression (self, _tmp9_, &_inner_error_);
#line 1673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	optype = _tmp10_;
#line 1673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 18117 "tracker-sparql-expression.c"
		} else {
#line 1673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 18125 "tracker-sparql-expression.c"
		}
	}
#line 1674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 18138 "tracker-sparql-expression.c"
		} else {
#line 1674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 18146 "tracker-sparql-expression.c"
		}
	}
#line 1675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = optype;
#line 1675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 18153 "tracker-sparql-expression.c"
}


static TrackerPropertyType tracker_sparql_expression_translate_aggregate_expression (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerPropertyType result = 0;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	TrackerPropertyType optype = 0;
	GString* _tmp3_ = NULL;
	TrackerPropertyType _tmp4_ = 0;
	GError * _inner_error_ = NULL;
#line 1678 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1678 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 18179 "tracker-sparql-expression.c"
		} else {
#line 1679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 18187 "tracker-sparql-expression.c"
		}
	}
#line 1680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DISTINCT, &_inner_error_);
#line 1680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = _tmp1_;
#line 1680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 18202 "tracker-sparql-expression.c"
		} else {
#line 1680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 18210 "tracker-sparql-expression.c"
		}
	}
#line 1680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 18215 "tracker-sparql-expression.c"
		GString* _tmp2_ = NULL;
#line 1681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = sql;
#line 1681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (_tmp2_, "DISTINCT ");
#line 18221 "tracker-sparql-expression.c"
	}
#line 1683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = sql;
#line 1683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp4_ = tracker_sparql_expression_translate_expression (self, _tmp3_, &_inner_error_);
#line 1683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	optype = _tmp4_;
#line 1683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 18237 "tracker-sparql-expression.c"
		} else {
#line 1683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 18245 "tracker-sparql-expression.c"
		}
	}
#line 1684 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1684 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1684 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1684 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1684 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 18258 "tracker-sparql-expression.c"
		} else {
#line 1684 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1684 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1684 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 18266 "tracker-sparql-expression.c"
		}
	}
#line 1685 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = optype;
#line 1685 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 18273 "tracker-sparql-expression.c"
}


TrackerPropertyType tracker_sparql_expression_translate_constraint (TrackerSparqlExpression* self, GString* sql, GError** error) {
	TrackerPropertyType result = 0;
	TrackerSparqlTokenType _tmp0_ = 0;
	GError * _inner_error_ = NULL;
#line 1688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_current (self);
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	switch (_tmp0_) {
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STR:
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_LANG:
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_LANGMATCHES:
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_DATATYPE:
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_BOUND:
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_IF:
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SAMETERM:
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISIRI:
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISURI:
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISBLANK:
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISLITERAL:
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_REGEX:
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_EXISTS:
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_NOT:
#line 18317 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp1_ = 0;
			GString* _tmp2_ = NULL;
			TrackerPropertyType _tmp3_ = 0;
#line 1704 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = sql;
#line 1704 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp3_ = tracker_sparql_expression_translate_primary_expression (self, _tmp2_, &_inner_error_);
#line 1704 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp1_ = _tmp3_;
#line 1704 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1704 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1704 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1704 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 18336 "tracker-sparql-expression.c"
				} else {
#line 1704 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1704 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1704 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 18344 "tracker-sparql-expression.c"
				}
			}
#line 1704 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp1_;
#line 1704 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 18351 "tracker-sparql-expression.c"
		}
		default:
		{
			TrackerPropertyType _tmp4_ = 0;
			GString* _tmp5_ = NULL;
			TrackerPropertyType _tmp6_ = 0;
#line 1706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = sql;
#line 1706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = tracker_sparql_expression_translate_bracketted_expression (self, _tmp5_, &_inner_error_);
#line 1706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp4_ = _tmp6_;
#line 1706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 18372 "tracker-sparql-expression.c"
				} else {
#line 1706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 18380 "tracker-sparql-expression.c"
				}
			}
#line 1706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp4_;
#line 1706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 18387 "tracker-sparql-expression.c"
		}
	}
}


static TrackerSparqlContext* tracker_sparql_expression_get_context (TrackerSparqlExpression* self) {
	TrackerSparqlContext* result;
	TrackerSparqlQuery* _tmp0_ = NULL;
	TrackerSparqlContext* _tmp1_ = NULL;
#line 42 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 42 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = self->priv->query;
#line 42 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _tmp0_->context;
#line 42 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp1_;
#line 42 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 18407 "tracker-sparql-expression.c"
}


static TrackerSparqlPattern* tracker_sparql_expression_get_pattern (TrackerSparqlExpression* self) {
	TrackerSparqlPattern* result;
	TrackerSparqlQuery* _tmp0_ = NULL;
	TrackerSparqlPattern* _tmp1_ = NULL;
#line 46 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 46 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = self->priv->query;
#line 46 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _tmp0_->pattern;
#line 46 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp1_;
#line 46 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 18425 "tracker-sparql-expression.c"
}


static void tracker_sparql_expression_class_init (TrackerSparqlExpressionClass * klass) {
#line 20 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_parent_class = g_type_class_peek_parent (klass);
#line 20 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_type_class_add_private (klass, sizeof (TrackerSparqlExpressionPrivate));
#line 20 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_tracker_sparql_expression_get_property;
#line 20 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	G_OBJECT_CLASS (klass)->finalize = tracker_sparql_expression_finalize;
#line 18438 "tracker-sparql-expression.c"
}


static void tracker_sparql_expression_instance_init (TrackerSparqlExpression * self) {
#line 20 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	self->priv = TRACKER_SPARQL_EXPRESSION_GET_PRIVATE (self);
#line 18445 "tracker-sparql-expression.c"
}


static void tracker_sparql_expression_finalize (GObject* obj) {
	TrackerSparqlExpression * self;
#line 20 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TRACKER_SPARQL_TYPE_EXPRESSION, TrackerSparqlExpression);
#line 35 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_free0 (self->priv->fts_sql);
#line 20 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	G_OBJECT_CLASS (tracker_sparql_expression_parent_class)->finalize (obj);
#line 18457 "tracker-sparql-expression.c"
}


GType tracker_sparql_expression_get_type (void) {
	static volatile gsize tracker_sparql_expression_type_id__volatile = 0;
	if (g_once_init_enter (&tracker_sparql_expression_type_id__volatile)) {
		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 };
		GType tracker_sparql_expression_type_id;
		tracker_sparql_expression_type_id = g_type_register_static (G_TYPE_OBJECT, "TrackerSparqlExpression", &g_define_type_info, 0);
		g_once_init_leave (&tracker_sparql_expression_type_id__volatile, tracker_sparql_expression_type_id);
	}
	return tracker_sparql_expression_type_id__volatile;
}


static void _vala_tracker_sparql_expression_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	TrackerSparqlExpression * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TRACKER_SPARQL_TYPE_EXPRESSION, TrackerSparqlExpression);
#line 20 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	switch (property_id) {
#line 18478 "tracker-sparql-expression.c"
		default:
#line 20 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 20 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		break;
#line 18484 "tracker-sparql-expression.c"
	}
}


static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}


static gint _vala_array_length (gpointer array) {
	int length;
	length = 0;
	if (array) {
		while (((gpointer*) array)[length]) {
			length++;
		}
	}
	return length;
}



