/* tracker-sparql-expression.c generated by valac 0.40.6, 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-data/tracker-data-manager.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;
enum  {
	TRACKER_SPARQL_EXPRESSION_0_PROPERTY,
	TRACKER_SPARQL_EXPRESSION_NUM_PROPERTIES
};
static GParamSpec* tracker_sparql_expression_properties[TRACKER_SPARQL_EXPRESSION_NUM_PROPERTIES];

#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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
typedef struct _TrackerSparqlQueryPrivate TrackerSparqlQueryPrivate;

#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_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_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;

#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;

#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;
typedef struct _TrackerSparqlVariablePrivate TrackerSparqlVariablePrivate;

#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_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;
typedef struct _TrackerSparqlLiteralBindingPrivate TrackerSparqlLiteralBindingPrivate;

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

struct _TrackerSparqlExpressionClass {
	GObjectClass parent_class;
};

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

typedef enum  {
	TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_SECONDS,
	TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_MINUTES,
	TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_HOURS
} TrackerSparqlExpressionTimeFormatType;

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

struct _TrackerSparqlQueryClass {
	GObjectClass parent_class;
};

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;
	gboolean need_binding_expression;
};

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;
};


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))
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);
GType tracker_sparql_pattern_get_type (void) G_GNUC_CONST;
GType tracker_sparql_data_binding_get_type (void) G_GNUC_CONST;
GType tracker_sparql_literal_binding_get_type (void) G_GNUC_CONST;
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 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);
static TrackerSparqlContext* tracker_sparql_expression_get_context (TrackerSparqlExpression* self);
TrackerSparqlVariable* tracker_sparql_context_get_variable (TrackerSparqlContext* self,
                                                            const gchar* name);
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;
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);
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);
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;
}


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


TrackerSparqlExpression*
tracker_sparql_expression_construct (GType object_type,
                                     TrackerSparqlQuery* query)
{
	TrackerSparqlExpression * self = NULL;
	TrackerDataManager* _tmp0_;
	TrackerDataManager* _tmp1_;
#line 39 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (query != NULL, NULL);
#line 39 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	self = (TrackerSparqlExpression*) g_object_new (object_type, NULL);
#line 40 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	self->priv->query = query;
#line 41 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = query->manager;
#line 41 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 41 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_object_unref0 (self->priv->manager);
#line 41 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	self->priv->manager = _tmp1_;
#line 39 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return self;
#line 742 "tracker-sparql-expression.c"
}


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


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


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


static inline TrackerSparqlTokenType
tracker_sparql_expression_last (TrackerSparqlExpression* self)
{
	TrackerSparqlTokenType result = 0;
	TrackerSparqlQuery* _tmp0_;
#line 60 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 61 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = self->priv->query;
#line 61 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = tracker_sparql_query_last (_tmp0_);
#line 61 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 829 "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_;
	GError * _inner_error_ = NULL;
#line 64 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 65 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = self->priv->query;
#line 65 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_query_accept (_tmp1_, type, &_inner_error_);
#line 65 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 65 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 852 "tracker-sparql-expression.c"
			gboolean _tmp2_ = FALSE;
#line 65 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 65 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return _tmp2_;
#line 858 "tracker-sparql-expression.c"
		} else {
			gboolean _tmp3_ = FALSE;
#line 65 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 65 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 65 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return _tmp3_;
#line 867 "tracker-sparql-expression.c"
		}
	}
#line 65 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp0_;
#line 65 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 874 "tracker-sparql-expression.c"
}


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


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


static gchar*
tracker_sparql_expression_get_last_string (TrackerSparqlExpression* self,
                                           gint strip)
{
	gchar* result = NULL;
	TrackerSparqlQuery* _tmp0_;
	gchar* _tmp1_;
#line 76 "/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"
	_tmp0_ = self->priv->query;
#line 77 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = tracker_sparql_query_get_last_string (_tmp0_, strip);
#line 77 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp1_;
#line 77 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 963 "tracker-sparql-expression.c"
}


static gchar*
_vala_g_strjoinv (const gchar* separator,
                  gchar** str_array,
                  int str_array_length1)
{
	gchar* result = NULL;
	gboolean _tmp0_ = FALSE;
#line 1092 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (separator == NULL) {
#line 1093 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		separator = "";
#line 978 "tracker-sparql-expression.c"
	}
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (str_array != NULL) {
#line 982 "tracker-sparql-expression.c"
		gboolean _tmp1_ = FALSE;
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		if (str_array_length1 > 0) {
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			_tmp1_ = TRUE;
#line 988 "tracker-sparql-expression.c"
		} else {
			gboolean _tmp2_ = FALSE;
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			if (str_array_length1 == -1) {
#line 993 "tracker-sparql-expression.c"
				const gchar* _tmp3_;
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp3_ = str_array[0];
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp2_ = _tmp3_ != NULL;
#line 999 "tracker-sparql-expression.c"
			} else {
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp2_ = FALSE;
#line 1003 "tracker-sparql-expression.c"
			}
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			_tmp1_ = _tmp2_;
#line 1007 "tracker-sparql-expression.c"
		}
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = _tmp1_;
#line 1011 "tracker-sparql-expression.c"
	} else {
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = FALSE;
#line 1015 "tracker-sparql-expression.c"
	}
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (_tmp0_) {
#line 1019 "tracker-sparql-expression.c"
		gint i = 0;
		gsize len = 0UL;
		gint _tmp20_;
		gint _tmp22_;
		gint _tmp23_;
		gsize _tmp24_;
		gint _tmp25_;
		gint _tmp26_;
		gint _tmp27_;
		const gchar* res = NULL;
		gsize _tmp28_;
		void* _tmp29_;
		void* ptr = NULL;
		const gchar* _tmp30_;
		const gchar* _tmp31_;
		void* _tmp32_;
		const gchar* _tmp45_;
#line 1097 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		len = (gsize) 1;
#line 1039 "tracker-sparql-expression.c"
		{
			gboolean _tmp4_ = FALSE;
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			i = 0;
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			_tmp4_ = TRUE;
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			while (TRUE) {
#line 1048 "tracker-sparql-expression.c"
				gboolean _tmp6_ = FALSE;
				gboolean _tmp7_ = FALSE;
				gint _tmp12_ = 0;
				gint _tmp13_;
				const gchar* _tmp14_;
				gsize _tmp19_;
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				if (!_tmp4_) {
#line 1057 "tracker-sparql-expression.c"
					gint _tmp5_;
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp5_ = i;
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					i = _tmp5_ + 1;
#line 1063 "tracker-sparql-expression.c"
				}
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp4_ = FALSE;
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				if (str_array_length1 != -1) {
#line 1069 "tracker-sparql-expression.c"
					gint _tmp8_;
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp8_ = i;
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp7_ = _tmp8_ < str_array_length1;
#line 1075 "tracker-sparql-expression.c"
				} else {
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp7_ = FALSE;
#line 1079 "tracker-sparql-expression.c"
				}
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				if (_tmp7_) {
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp6_ = TRUE;
#line 1085 "tracker-sparql-expression.c"
				} else {
					gboolean _tmp9_ = FALSE;
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					if (str_array_length1 == -1) {
#line 1090 "tracker-sparql-expression.c"
						gint _tmp10_;
						const gchar* _tmp11_;
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
						_tmp10_ = i;
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
						_tmp11_ = str_array[_tmp10_];
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
						_tmp9_ = _tmp11_ != NULL;
#line 1099 "tracker-sparql-expression.c"
					} else {
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
						_tmp9_ = FALSE;
#line 1103 "tracker-sparql-expression.c"
					}
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp6_ = _tmp9_;
#line 1107 "tracker-sparql-expression.c"
				}
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				if (!_tmp6_) {
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					break;
#line 1113 "tracker-sparql-expression.c"
				}
#line 1099 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp13_ = i;
#line 1099 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp14_ = str_array[_tmp13_];
#line 1099 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				if (_tmp14_ != NULL) {
#line 1121 "tracker-sparql-expression.c"
					gint _tmp15_;
					const gchar* _tmp16_;
					gint _tmp17_;
					gint _tmp18_;
#line 1099 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp15_ = i;
#line 1099 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp16_ = str_array[_tmp15_];
#line 1099 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp17_ = strlen ((const gchar*) _tmp16_);
#line 1099 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp18_ = _tmp17_;
#line 1099 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp12_ = _tmp18_;
#line 1136 "tracker-sparql-expression.c"
				} else {
#line 1099 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp12_ = 0;
#line 1140 "tracker-sparql-expression.c"
				}
#line 1099 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp19_ = len;
#line 1099 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				len = _tmp19_ + _tmp12_;
#line 1146 "tracker-sparql-expression.c"
			}
		}
#line 1101 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp20_ = i;
#line 1101 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		if (_tmp20_ == 0) {
#line 1153 "tracker-sparql-expression.c"
			gchar* _tmp21_;
#line 1102 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			_tmp21_ = g_strdup ("");
#line 1102 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			result = _tmp21_;
#line 1102 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			return result;
#line 1161 "tracker-sparql-expression.c"
		}
#line 1104 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp22_ = i;
#line 1104 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		str_array_length1 = _tmp22_;
#line 1104 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp23_ = str_array_length1;
#line 1105 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp24_ = len;
#line 1105 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp25_ = strlen ((const gchar*) separator);
#line 1105 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp26_ = _tmp25_;
#line 1105 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp27_ = i;
#line 1105 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		len = _tmp24_ + (_tmp26_ * (_tmp27_ - 1));
#line 1107 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp28_ = len;
#line 1107 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp29_ = g_malloc (_tmp28_);
#line 1107 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		res = _tmp29_;
#line 1108 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp30_ = res;
#line 1108 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp31_ = str_array[0];
#line 1108 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp32_ = g_stpcpy ((void*) _tmp30_, (const gchar*) _tmp31_);
#line 1108 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		ptr = _tmp32_;
#line 1193 "tracker-sparql-expression.c"
		{
			gboolean _tmp33_ = FALSE;
#line 1109 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			i = 1;
#line 1109 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			_tmp33_ = TRUE;
#line 1109 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			while (TRUE) {
#line 1202 "tracker-sparql-expression.c"
				gint _tmp35_;
				void* _tmp36_;
				void* _tmp37_;
				const gchar* _tmp38_ = NULL;
				gint _tmp39_;
				const gchar* _tmp40_;
				void* _tmp43_;
				void* _tmp44_;
#line 1109 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				if (!_tmp33_) {
#line 1213 "tracker-sparql-expression.c"
					gint _tmp34_;
#line 1109 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp34_ = i;
#line 1109 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					i = _tmp34_ + 1;
#line 1219 "tracker-sparql-expression.c"
				}
#line 1109 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp33_ = FALSE;
#line 1109 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp35_ = i;
#line 1109 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				if (!(_tmp35_ < str_array_length1)) {
#line 1109 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					break;
#line 1229 "tracker-sparql-expression.c"
				}
#line 1110 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp36_ = ptr;
#line 1110 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp37_ = g_stpcpy (_tmp36_, (const gchar*) separator);
#line 1110 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				ptr = _tmp37_;
#line 1111 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp39_ = i;
#line 1111 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp40_ = str_array[_tmp39_];
#line 1111 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				if (_tmp40_ != NULL) {
#line 1243 "tracker-sparql-expression.c"
					gint _tmp41_;
					const gchar* _tmp42_;
#line 1111 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp41_ = i;
#line 1111 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp42_ = str_array[_tmp41_];
#line 1111 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp38_ = (const gchar*) _tmp42_;
#line 1252 "tracker-sparql-expression.c"
				} else {
#line 1111 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp38_ = "";
#line 1256 "tracker-sparql-expression.c"
				}
#line 1111 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp43_ = ptr;
#line 1111 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp44_ = g_stpcpy (_tmp43_, _tmp38_);
#line 1111 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				ptr = _tmp44_;
#line 1264 "tracker-sparql-expression.c"
			}
		}
#line 1114 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp45_ = res;
#line 1114 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		res = NULL;
#line 1114 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		result = (gchar*) _tmp45_;
#line 1114 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		return result;
#line 1275 "tracker-sparql-expression.c"
	} else {
		gchar* _tmp46_;
#line 1116 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp46_ = g_strdup ("");
#line 1116 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		result = _tmp46_;
#line 1116 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		return result;
#line 1284 "tracker-sparql-expression.c"
	}
}


static gchar*
tracker_sparql_expression_escape_sql_string_literal (TrackerSparqlExpression* self,
                                                     const gchar* literal)
{
	gchar* result = NULL;
	gchar** _tmp0_;
	gchar** _tmp1_;
	gchar** _tmp2_;
	gint _tmp2__length1;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
#line 80 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 80 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (literal != NULL, NULL);
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _tmp0_ = g_strsplit (literal, "'", 0);
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = _tmp1_;
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2__length1 = _vala_array_length (_tmp0_);
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = _vala_g_strjoinv ("''", _tmp2_, _vala_array_length (_tmp0_));
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp4_ = _tmp3_;
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp5_ = g_strdup_printf ("'%s'", _tmp4_);
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp6_ = _tmp5_;
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_free0 (_tmp4_);
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = (_vala_array_free (_tmp2_, _tmp2__length1, (GDestroyNotify) g_free), NULL);
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp6_;
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 1328 "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;
#line 84 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (type == TRACKER_PROPERTY_TYPE_INTEGER) {
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = TRUE;
#line 1347 "tracker-sparql-expression.c"
	} else {
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = type == TRACKER_PROPERTY_TYPE_DOUBLE;
#line 1351 "tracker-sparql-expression.c"
	}
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp3_) {
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = TRUE;
#line 1357 "tracker-sparql-expression.c"
	} else {
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = type == TRACKER_PROPERTY_TYPE_DATE;
#line 1361 "tracker-sparql-expression.c"
	}
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp2_) {
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = TRUE;
#line 1367 "tracker-sparql-expression.c"
	} else {
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = type == TRACKER_PROPERTY_TYPE_DATETIME;
#line 1371 "tracker-sparql-expression.c"
	}
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp1_) {
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp0_ = TRUE;
#line 1377 "tracker-sparql-expression.c"
	} else {
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp0_ = type == TRACKER_PROPERTY_TYPE_UNKNOWN;
#line 1381 "tracker-sparql-expression.c"
	}
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp0_;
#line 85 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 1387 "tracker-sparql-expression.c"
}


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


static void
tracker_sparql_expression_skip_bracketted_expression (TrackerSparqlExpression* self,
                                                      GError** error)
{
	GError * _inner_error_ = NULL;
#line 92 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 93 "/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 93 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 93 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 93 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 93 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 1422 "tracker-sparql-expression.c"
		} else {
#line 93 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 93 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 93 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 1430 "tracker-sparql-expression.c"
		}
	}
#line 94 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	while (TRUE) {
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		switch (tracker_sparql_expression_current (self)) {
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS:
#line 1439 "tracker-sparql-expression.c"
			{
#line 98 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_expression_skip_bracketted_expression (self, &_inner_error_);
#line 98 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 98 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 98 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 98 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1451 "tracker-sparql-expression.c"
					} else {
#line 98 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 98 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 98 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1459 "tracker-sparql-expression.c"
					}
				}
#line 99 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				continue;
#line 1464 "tracker-sparql-expression.c"
			}
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS:
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_EOF:
#line 1470 "tracker-sparql-expression.c"
			{
#line 102 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				break;
#line 1474 "tracker-sparql-expression.c"
			}
			default:
			{
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_expression_next (self, &_inner_error_);
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1488 "tracker-sparql-expression.c"
					} else {
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1496 "tracker-sparql-expression.c"
					}
				}
#line 105 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				continue;
#line 1501 "tracker-sparql-expression.c"
			}
		}
#line 107 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		break;
#line 1506 "tracker-sparql-expression.c"
	}
#line 109 "/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 109 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 109 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 109 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 109 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 1518 "tracker-sparql-expression.c"
		} else {
#line 109 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 109 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 109 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 1526 "tracker-sparql-expression.c"
		}
	}
}


void
tracker_sparql_expression_skip_select_variables (TrackerSparqlExpression* self,
                                                 GError** error)
{
	GError * _inner_error_ = NULL;
#line 112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	while (TRUE) {
#line 114 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		switch (tracker_sparql_expression_current (self)) {
#line 114 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS:
#line 1545 "tracker-sparql-expression.c"
			{
#line 116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_expression_skip_bracketted_expression (self, &_inner_error_);
#line 116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1557 "tracker-sparql-expression.c"
					} else {
#line 116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1565 "tracker-sparql-expression.c"
					}
				}
#line 117 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				continue;
#line 1570 "tracker-sparql-expression.c"
			}
#line 114 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_FROM:
#line 114 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_WHERE:
#line 114 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_OPEN_BRACE:
#line 114 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_GROUP:
#line 114 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_ORDER:
#line 114 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_LIMIT:
#line 114 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_OFFSET:
#line 114 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			case TRACKER_SPARQL_TOKEN_TYPE_EOF:
#line 1588 "tracker-sparql-expression.c"
			{
#line 126 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				break;
#line 1592 "tracker-sparql-expression.c"
			}
			default:
			{
#line 128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_expression_next (self, &_inner_error_);
#line 128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1606 "tracker-sparql-expression.c"
					} else {
#line 128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return;
#line 1614 "tracker-sparql-expression.c"
					}
				}
#line 129 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				continue;
#line 1619 "tracker-sparql-expression.c"
			}
		}
#line 131 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		break;
#line 1624 "tracker-sparql-expression.c"
	}
}


static glong
string_strnlen (gchar* str,
                glong maxlen)
{
	glong result = 0L;
	gchar* end = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
#line 1336 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp0_ = memchr (str, 0, (gsize) maxlen);
#line 1336 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	end = _tmp0_;
#line 1337 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp1_ = end;
#line 1337 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (_tmp1_ == NULL) {
#line 1338 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		result = maxlen;
#line 1338 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		return result;
#line 1649 "tracker-sparql-expression.c"
	} else {
		gchar* _tmp2_;
#line 1340 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp2_ = end;
#line 1340 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		result = (glong) (_tmp2_ - str);
#line 1340 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		return result;
#line 1658 "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 _tmp6_;
	gchar* _tmp7_;
#line 1347 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (offset >= ((glong) 0)) {
#line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = len >= ((glong) 0);
#line 1679 "tracker-sparql-expression.c"
	} else {
#line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = FALSE;
#line 1683 "tracker-sparql-expression.c"
	}
#line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (_tmp0_) {
#line 1351 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		string_length = string_strnlen ((gchar*) self, offset + len);
#line 1689 "tracker-sparql-expression.c"
	} else {
		gint _tmp1_;
		gint _tmp2_;
#line 1353 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp1_ = strlen (self);
#line 1353 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp2_ = _tmp1_;
#line 1353 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		string_length = (glong) _tmp2_;
#line 1699 "tracker-sparql-expression.c"
	}
#line 1356 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (offset < ((glong) 0)) {
#line 1703 "tracker-sparql-expression.c"
		glong _tmp3_;
#line 1357 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp3_ = string_length;
#line 1357 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		offset = _tmp3_ + offset;
#line 1358 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		g_return_val_if_fail (offset >= ((glong) 0), NULL);
#line 1711 "tracker-sparql-expression.c"
	} else {
		glong _tmp4_;
#line 1360 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp4_ = string_length;
#line 1360 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		g_return_val_if_fail (offset <= _tmp4_, NULL);
#line 1718 "tracker-sparql-expression.c"
	}
#line 1362 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (len < ((glong) 0)) {
#line 1722 "tracker-sparql-expression.c"
		glong _tmp5_;
#line 1363 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp5_ = string_length;
#line 1363 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		len = _tmp5_ - offset;
#line 1728 "tracker-sparql-expression.c"
	}
#line 1365 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp6_ = string_length;
#line 1365 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail ((offset + len) <= _tmp6_, NULL);
#line 1366 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp7_ = g_strndup (((gchar*) self) + offset, (gsize) len);
#line 1366 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	result = _tmp7_;
#line 1366 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	return result;
#line 1740 "tracker-sparql-expression.c"
}


static void
_vala_array_add1 (gchar** * array,
                  int* length,
                  int* size,
                  gchar* value)
{
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if ((*length) == (*size)) {
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 205 "/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 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	(*array)[(*length)++] = value;
#line 205 "/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_add2 (gchar** * array,
                  int* length,
                  int* size,
                  gchar* value)
{
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if ((*length) == (*size)) {
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*array = g_renew (gchar*, *array, (*size) + 1);
#line 1778 "tracker-sparql-expression.c"
	}
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	(*array)[(*length)++] = value;
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	(*array)[*length] = NULL;
#line 1784 "tracker-sparql-expression.c"
}


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


static void
_vala_array_add4 (gchar** * array,
                  int* length,
                  int* size,
                  gchar* value)
{
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if ((*length) == (*size)) {
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*array = g_renew (gchar*, *array, (*size) + 1);
#line 1822 "tracker-sparql-expression.c"
	}
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	(*array)[(*length)++] = value;
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	(*array)[*length] = NULL;
#line 1828 "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;
	gssize _tmp0_;
	TrackerPropertyType type = 0;
	gboolean _tmp30_ = FALSE;
	TrackerSparqlPattern* _tmp56_;
	TrackerSparqlPattern* _tmp57_;
	TrackerSparqlVariable* _tmp58_;
	gboolean _tmp89_;
	TrackerSparqlVariable* _tmp90_;
	GError * _inner_error_ = NULL;
#line 135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 136 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	variable = NULL;
#line 137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	expect_close_parens = FALSE;
#line 138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	as_handled = FALSE;
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql->len;
#line 140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp0_;
#line 141 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	type = TRACKER_PROPERTY_TYPE_UNKNOWN;
#line 142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (tracker_sparql_expression_current (self) == TRACKER_SPARQL_TOKEN_TYPE_VAR) {
#line 1871 "tracker-sparql-expression.c"
		TrackerPropertyType _tmp1_ = 0;
		TrackerSparqlContext* _tmp2_;
		TrackerSparqlContext* _tmp3_;
		gchar* _tmp4_;
		gchar* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
		TrackerSparqlVariable* _tmp8_;
		TrackerSparqlVariable* _tmp9_;
		TrackerSparqlVariable* _tmp10_;
		TrackerSparqlVariableBinding* _tmp11_;
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 1895 "tracker-sparql-expression.c"
			} else {
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 1905 "tracker-sparql-expression.c"
			}
		}
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		type = _tmp1_;
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = tracker_sparql_expression_get_context (self);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = _tmp2_;
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = tracker_sparql_expression_get_last_string (self, 0);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = _tmp4_;
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = string_substring (_tmp5_, (glong) 1, (glong) -1);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = _tmp6_;
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = tracker_sparql_context_get_variable (_tmp3_, _tmp7_);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = _g_object_ref0 (_tmp8_);
#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"
		variable = _tmp9_;
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp7_);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp5_);
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_ = variable;
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = _tmp10_->binding;
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp11_ == NULL) {
#line 1940 "tracker-sparql-expression.c"
			TrackerSparqlVariable* _tmp12_;
			const gchar* _tmp13_;
			const gchar* _tmp14_;
			gchar* _tmp15_;
			gchar* _tmp16_;
			GError* _tmp17_;
			GError* _tmp18_;
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp12_ = variable;
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp13_ = tracker_sparql_variable_get_name (_tmp12_);
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp14_ = _tmp13_;
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp15_ = g_strdup_printf ("use of undefined variable `%s'", _tmp14_);
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp16_ = _tmp15_;
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp17_ = tracker_sparql_expression_get_error (self, _tmp16_);
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp18_ = _tmp17_;
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp16_);
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp18_;
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 1974 "tracker-sparql-expression.c"
			} else {
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 1984 "tracker-sparql-expression.c"
			}
		}
	} else {
		gboolean _tmp19_ = FALSE;
#line 150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp19_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 2001 "tracker-sparql-expression.c"
			} else {
#line 150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 2011 "tracker-sparql-expression.c"
			}
		}
#line 150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp19_) {
#line 151 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (tracker_sparql_expression_current (self) == TRACKER_SPARQL_TOKEN_TYPE_SELECT) {
#line 2018 "tracker-sparql-expression.c"
				TrackerSparqlSelectContext* select_context = NULL;
				TrackerSparqlPattern* _tmp20_;
				TrackerSparqlPattern* _tmp21_;
				TrackerSparqlSelectContext* _tmp22_;
				TrackerSparqlSelectContext* _tmp23_;
				TrackerPropertyType _tmp24_;
#line 154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, "(");
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp20_ = tracker_sparql_expression_get_pattern (self);
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp21_ = _tmp20_;
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp22_ = tracker_sparql_pattern_translate_select (_tmp21_, sql, TRUE, TRUE, &_inner_error_);
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				select_context = _tmp22_;
#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"
						_g_object_unref0 (variable);
#line 155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 2045 "tracker-sparql-expression.c"
					} else {
#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 2055 "tracker-sparql-expression.c"
					}
				}
#line 156 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, ")");
#line 158 "/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 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"
						_tracker_sparql_context_unref0 (select_context);
#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 2074 "tracker-sparql-expression.c"
					} else {
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tracker_sparql_context_unref0 (select_context);
#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 2086 "tracker-sparql-expression.c"
					}
				}
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp23_ = select_context;
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp24_ = _tmp23_->type;
#line 159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				type = _tmp24_;
#line 151 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tracker_sparql_context_unref0 (select_context);
#line 2097 "tracker-sparql-expression.c"
			} else {
				TrackerPropertyType _tmp25_ = 0;
				gboolean _tmp26_ = FALSE;
#line 161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp25_ = tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (variable);
#line 161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 2113 "tracker-sparql-expression.c"
					} else {
#line 161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (variable);
#line 161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 2123 "tracker-sparql-expression.c"
					}
				}
#line 161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				type = _tmp25_;
#line 162 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp26_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 162 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 162 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 162 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 162 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (variable);
#line 162 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 2140 "tracker-sparql-expression.c"
					} else {
#line 162 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (variable);
#line 162 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 162 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 162 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 2150 "tracker-sparql-expression.c"
					}
				}
#line 162 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_tmp26_) {
#line 2155 "tracker-sparql-expression.c"
				} else {
#line 168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					expect_close_parens = TRUE;
#line 2159 "tracker-sparql-expression.c"
				}
			}
		} else {
			TrackerPropertyType _tmp27_ = 0;
#line 174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp27_ = tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_object_unref0 (variable);
#line 174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 2176 "tracker-sparql-expression.c"
				} else {
#line 174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_object_unref0 (variable);
#line 174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 2186 "tracker-sparql-expression.c"
				}
			}
#line 174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp27_;
#line 2191 "tracker-sparql-expression.c"
		}
	}
#line 177 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (!subquery) {
#line 2196 "tracker-sparql-expression.c"
		TrackerPropertyType _tmp28_;
		glong _tmp29_;
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp28_ = type;
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp29_ = begin;
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_convert_expression_to_string (sql, _tmp28_, _tmp29_);
#line 2205 "tracker-sparql-expression.c"
	}
#line 181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp30_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_AS, &_inner_error_);
#line 181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (variable);
#line 181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 2219 "tracker-sparql-expression.c"
		} else {
#line 181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (variable);
#line 181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 2229 "tracker-sparql-expression.c"
		}
	}
#line 181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp30_) {
#line 2234 "tracker-sparql-expression.c"
		TrackerSparqlContext* _tmp31_;
		TrackerSparqlContext* _tmp32_;
		gchar* _tmp33_;
		gchar* _tmp34_;
		gchar* _tmp35_;
		gchar* _tmp36_;
		TrackerSparqlVariable* _tmp37_;
		TrackerSparqlVariable* _tmp38_;
		TrackerSparqlVariable* _tmp39_;
		const gchar* _tmp40_;
		const gchar* _tmp41_;
#line 183 "/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 183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 2258 "tracker-sparql-expression.c"
			} else {
#line 183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 2268 "tracker-sparql-expression.c"
			}
		}
#line 184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp31_ = tracker_sparql_expression_get_context (self);
#line 184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp32_ = _tmp31_;
#line 184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp33_ = tracker_sparql_expression_get_last_string (self, 0);
#line 184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp34_ = _tmp33_;
#line 184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp35_ = string_substring (_tmp34_, (glong) 1, (glong) -1);
#line 184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp36_ = _tmp35_;
#line 184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp37_ = tracker_sparql_context_get_variable (_tmp32_, _tmp36_);
#line 184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp38_ = _g_object_ref0 (_tmp37_);
#line 184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_object_unref0 (variable);
#line 184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable = _tmp38_;
#line 184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp36_);
#line 184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp34_);
#line 185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp39_ = variable;
#line 185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp40_ = tracker_sparql_variable_get_sql_expression (_tmp39_);
#line 185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp41_ = _tmp40_;
#line 185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append_printf (sql, " AS %s", _tmp41_);
#line 186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		as_handled = TRUE;
#line 188 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (subquery) {
#line 2307 "tracker-sparql-expression.c"
			TrackerSparqlVariableBinding* binding = NULL;
			TrackerSparqlVariableBinding* _tmp42_;
			TrackerSparqlVariableBinding* _tmp43_;
			TrackerPropertyType _tmp44_;
			TrackerSparqlVariableBinding* _tmp45_;
			TrackerSparqlVariable* _tmp46_;
			TrackerSparqlVariableBinding* _tmp47_;
			TrackerSparqlVariable* _tmp48_;
			const gchar* _tmp49_;
			const gchar* _tmp50_;
			TrackerSparqlPattern* _tmp51_;
			TrackerSparqlPattern* _tmp52_;
			GString* _tmp53_;
			GString* _tmp54_;
			TrackerSparqlVariableBinding* _tmp55_;
#line 189 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp42_ = tracker_sparql_variable_binding_new ();
#line 189 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			binding = _tmp42_;
#line 190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp43_ = binding;
#line 190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp44_ = type;
#line 190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			((TrackerSparqlDataBinding*) _tmp43_)->data_type = _tmp44_;
#line 191 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp45_ = binding;
#line 191 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp46_ = variable;
#line 191 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp45_->variable = _tmp46_;
#line 192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp47_ = binding;
#line 192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp48_ = variable;
#line 192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp49_ = tracker_sparql_variable_get_sql_expression (_tmp48_);
#line 192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp50_ = _tmp49_;
#line 192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_data_binding_set_sql_expression ((TrackerSparqlDataBinding*) _tmp47_, _tmp50_);
#line 193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp51_ = tracker_sparql_expression_get_pattern (self);
#line 193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp52_ = _tmp51_;
#line 193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp53_ = g_string_new ("");
#line 193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp54_ = _tmp53_;
#line 193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp55_ = binding;
#line 193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_pattern_add_variable_binding (_tmp52_, _tmp54_, _tmp55_, TRACKER_SPARQL_VARIABLE_STATE_BOUND);
#line 193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_string_free0 (_tmp54_);
#line 188 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (binding);
#line 2365 "tracker-sparql-expression.c"
		}
	}
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp56_ = tracker_sparql_expression_get_pattern (self);
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp57_ = _tmp56_;
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp58_ = _tmp57_->fts_subject;
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp58_ != NULL) {
#line 2376 "tracker-sparql-expression.c"
		TrackerSparqlVariable* _tmp59_;
		const gchar* _tmp66_;
#line 198 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp59_ = variable;
#line 198 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp59_ == NULL) {
#line 2383 "tracker-sparql-expression.c"
			TrackerSparqlContext* _tmp60_;
			TrackerSparqlContext* _tmp61_;
			gchar* _tmp62_;
			gchar* _tmp63_;
			TrackerSparqlVariable* _tmp64_;
			TrackerSparqlVariable* _tmp65_;
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp60_ = tracker_sparql_expression_get_context (self);
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp61_ = _tmp60_;
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp62_ = g_strdup_printf ("var%d", variable_index + 1);
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp63_ = _tmp62_;
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp64_ = tracker_sparql_context_get_variable (_tmp61_, _tmp63_);
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp65_ = _g_object_ref0 (_tmp64_);
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (variable);
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			variable = _tmp65_;
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp63_);
#line 2408 "tracker-sparql-expression.c"
		}
#line 204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp66_ = self->priv->fts_sql;
#line 204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp66_ == NULL) {
#line 2414 "tracker-sparql-expression.c"
			TrackerSparqlPattern* _tmp67_;
			TrackerSparqlPattern* _tmp68_;
			TrackerSparqlPattern* _tmp69_;
			TrackerSparqlPattern* _tmp70_;
			gchar** _tmp71_;
			gint _tmp71__length1;
			TrackerSparqlVariable* _tmp72_;
			const gchar* _tmp73_;
			const gchar* _tmp74_;
			gchar* _tmp75_;
			gboolean _tmp76_;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp67_ = tracker_sparql_expression_get_pattern (self);
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp68_ = _tmp67_;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp69_ = tracker_sparql_expression_get_pattern (self);
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp70_ = _tmp69_;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp71_ = _tmp70_->fts_variables;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp71__length1 = _tmp70_->fts_variables_length1;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp72_ = variable;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp73_ = tracker_sparql_variable_get_sql_expression (_tmp72_);
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp74_ = _tmp73_;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp75_ = g_strdup (_tmp74_);
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_vala_array_add1 (&_tmp68_->fts_variables, &_tmp68_->fts_variables_length1, &_tmp68_->_fts_variables_size_, _tmp75_);
#line 207 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp76_ = as_handled;
#line 207 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp76_ == FALSE) {
#line 2452 "tracker-sparql-expression.c"
				TrackerSparqlVariable* _tmp77_;
				const gchar* _tmp78_;
				const gchar* _tmp79_;
#line 208 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp77_ = variable;
#line 208 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp78_ = tracker_sparql_variable_get_sql_expression (_tmp77_);
#line 208 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp79_ = _tmp78_;
#line 208 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append_printf (sql, " AS %s", _tmp79_);
#line 2464 "tracker-sparql-expression.c"
			}
		} else {
			TrackerSparqlPattern* _tmp80_;
			TrackerSparqlPattern* _tmp81_;
			TrackerSparqlPattern* _tmp82_;
			TrackerSparqlPattern* _tmp83_;
			gchar** _tmp84_;
			gint _tmp84__length1;
			const gchar* _tmp85_;
			gchar* _tmp86_;
			TrackerSparqlPattern* _tmp87_;
			TrackerSparqlPattern* _tmp88_;
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp80_ = tracker_sparql_expression_get_pattern (self);
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp81_ = _tmp80_;
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp82_ = tracker_sparql_expression_get_pattern (self);
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp83_ = _tmp82_;
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp84_ = _tmp83_->fts_variables;
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp84__length1 = _tmp83_->fts_variables_length1;
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp85_ = self->priv->fts_sql;
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp86_ = g_strdup (_tmp85_);
#line 211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_vala_array_add2 (&_tmp81_->fts_variables, &_tmp81_->fts_variables_length1, &_tmp81_->_fts_variables_size_, _tmp86_);
#line 212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp87_ = tracker_sparql_expression_get_pattern (self);
#line 212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp88_ = _tmp87_;
#line 212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp88_->queries_fts_data = TRUE;
#line 2501 "tracker-sparql-expression.c"
		}
	}
#line 216 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp89_ = expect_close_parens;
#line 216 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp89_) {
#line 217 "/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 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 2520 "tracker-sparql-expression.c"
			} else {
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 2530 "tracker-sparql-expression.c"
			}
		}
	}
#line 220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp90_ = variable;
#line 220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp90_ != NULL) {
#line 2538 "tracker-sparql-expression.c"
		gint state = 0;
		TrackerSparqlContext* _tmp91_;
		TrackerSparqlContext* _tmp92_;
		GHashTable* _tmp93_;
		TrackerSparqlVariable* _tmp94_;
		gconstpointer _tmp95_;
		gint _tmp96_;
		TrackerSparqlContext* _tmp97_;
		TrackerSparqlContext* _tmp98_;
		GHashTable* _tmp99_;
		TrackerSparqlVariable* _tmp100_;
		TrackerSparqlVariable* _tmp101_;
		gint _tmp102_;
		TrackerSparqlContext* _tmp103_;
		TrackerSparqlContext* _tmp104_;
		TrackerSparqlContext* _tmp105_;
		TrackerSparqlContext* _tmp106_;
		gchar** _tmp107_;
		gint _tmp107__length1;
		TrackerSparqlVariable* _tmp108_;
		const gchar* _tmp109_;
		const gchar* _tmp110_;
		gchar* _tmp111_;
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp91_ = tracker_sparql_expression_get_context (self);
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp92_ = _tmp91_;
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp93_ = _tmp92_->var_set;
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp94_ = variable;
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp95_ = g_hash_table_lookup (_tmp93_, _tmp94_);
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		state = (gint) ((gintptr) _tmp95_);
#line 222 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp96_ = state;
#line 222 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp96_ == 0) {
#line 223 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			state = (gint) TRACKER_SPARQL_VARIABLE_STATE_BOUND;
#line 2580 "tracker-sparql-expression.c"
		}
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp97_ = tracker_sparql_expression_get_context (self);
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp98_ = _tmp97_;
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp99_ = _tmp98_->select_var_set;
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp100_ = variable;
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp101_ = _g_object_ref0 (_tmp100_);
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp102_ = state;
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_hash_table_insert (_tmp99_, _tmp101_, (gpointer) ((gintptr) _tmp102_));
#line 227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp103_ = tracker_sparql_expression_get_context (self);
#line 227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp104_ = _tmp103_;
#line 227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp105_ = tracker_sparql_expression_get_context (self);
#line 227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp106_ = _tmp105_;
#line 227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp107_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp106_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names;
#line 227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp107__length1 = G_TYPE_CHECK_INSTANCE_CAST (_tmp106_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names_length1;
#line 227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp108_ = variable;
#line 227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp109_ = tracker_sparql_variable_get_name (_tmp108_);
#line 227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp110_ = _tmp109_;
#line 227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp111_ = g_strdup (_tmp110_);
#line 227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_vala_array_add3 (&G_TYPE_CHECK_INSTANCE_CAST (_tmp104_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names, &G_TYPE_CHECK_INSTANCE_CAST (_tmp104_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names_length1, &G_TYPE_CHECK_INSTANCE_CAST (_tmp104_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->_variable_names_size_, _tmp111_);
#line 2618 "tracker-sparql-expression.c"
	} else {
		TrackerSparqlContext* _tmp112_;
		TrackerSparqlContext* _tmp113_;
		TrackerSparqlContext* _tmp114_;
		TrackerSparqlContext* _tmp115_;
		gchar** _tmp116_;
		gint _tmp116__length1;
		gchar* _tmp117_;
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp112_ = tracker_sparql_expression_get_context (self);
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp113_ = _tmp112_;
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp114_ = tracker_sparql_expression_get_context (self);
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp115_ = _tmp114_;
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp116_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp115_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names;
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp116__length1 = G_TYPE_CHECK_INSTANCE_CAST (_tmp115_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names_length1;
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp117_ = g_strdup_printf ("var%d", variable_index + 1);
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_vala_array_add4 (&G_TYPE_CHECK_INSTANCE_CAST (_tmp113_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names, &G_TYPE_CHECK_INSTANCE_CAST (_tmp113_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->variable_names_length1, &G_TYPE_CHECK_INSTANCE_CAST (_tmp113_, TRACKER_SPARQL_TYPE_SELECT_CONTEXT, TrackerSparqlSelectContext)->_variable_names_size_, _tmp117_);
#line 2643 "tracker-sparql-expression.c"
	}
#line 232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_free0 (self->priv->fts_sql);
#line 232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	self->priv->fts_sql = NULL;
#line 234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = type;
#line 234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_object_unref0 (variable);
#line 234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 2655 "tracker-sparql-expression.c"
}


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


void
tracker_sparql_expression_translate_order_condition (TrackerSparqlExpression* self,
                                                     GString* sql,
                                                     GError** error)
{
	gboolean _tmp0_ = FALSE;
	GError * _inner_error_ = NULL;
#line 246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_ASC, &_inner_error_);
#line 247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 2729 "tracker-sparql-expression.c"
		} else {
#line 247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 2737 "tracker-sparql-expression.c"
		}
	}
#line 247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_translate_expression_as_order_condition (self, sql, &_inner_error_);
#line 248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 2752 "tracker-sparql-expression.c"
			} else {
#line 248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 2760 "tracker-sparql-expression.c"
			}
		}
#line 249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, " ASC");
#line 2765 "tracker-sparql-expression.c"
	} else {
		gboolean _tmp1_ = FALSE;
#line 250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DESC, &_inner_error_);
#line 250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 2778 "tracker-sparql-expression.c"
			} else {
#line 250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 2786 "tracker-sparql-expression.c"
			}
		}
#line 250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp1_) {
#line 251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_order_condition (self, sql, &_inner_error_);
#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 2801 "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 2809 "tracker-sparql-expression.c"
				}
			}
#line 252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, " DESC");
#line 2814 "tracker-sparql-expression.c"
		} else {
#line 254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_order_condition (self, sql, &_inner_error_);
#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 2826 "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 2834 "tracker-sparql-expression.c"
				}
			}
		}
	}
}


static void
tracker_sparql_expression_translate_bound_call (TrackerSparqlExpression* self,
                                                GString* sql,
                                                GError** error)
{
	GError * _inner_error_ = NULL;
#line 258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 259 "/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 259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 2862 "tracker-sparql-expression.c"
		} else {
#line 259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 2870 "tracker-sparql-expression.c"
		}
	}
#line 260 "/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 260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 2883 "tracker-sparql-expression.c"
		} else {
#line 260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 2891 "tracker-sparql-expression.c"
		}
	}
#line 261 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, "(");
#line 262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 2906 "tracker-sparql-expression.c"
		} else {
#line 262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 2914 "tracker-sparql-expression.c"
		}
	}
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, " IS NOT NULL)");
#line 264 "/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 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 2929 "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 2937 "tracker-sparql-expression.c"
		}
	}
}


static TrackerPropertyType
tracker_sparql_expression_translate_if_call (TrackerSparqlExpression* self,
                                             GString* sql,
                                             GError** error)
{
	TrackerPropertyType result = 0;
	TrackerPropertyType type = 0;
	GError * _inner_error_ = NULL;
#line 267 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 267 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 268 "/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 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 0;
#line 2965 "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 0;
#line 2973 "tracker-sparql-expression.c"
		}
	}
#line 269 "/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 269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 2986 "tracker-sparql-expression.c"
		} else {
#line 269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 2994 "tracker-sparql-expression.c"
		}
	}
#line 272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, "(CASE ");
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_translate_expression (self, sql, &_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 3009 "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 3017 "tracker-sparql-expression.c"
		}
	}
#line 276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, " WHEN 1 THEN ");
#line 277 "/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 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 3032 "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 3040 "tracker-sparql-expression.c"
		}
	}
#line 278 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	type = tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 278 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 278 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 278 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 278 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3053 "tracker-sparql-expression.c"
		} else {
#line 278 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 278 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 278 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3061 "tracker-sparql-expression.c"
		}
	}
#line 281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, " WHEN 0 THEN ");
#line 282 "/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 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 3076 "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 3084 "tracker-sparql-expression.c"
		}
	}
#line 283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3097 "tracker-sparql-expression.c"
		} else {
#line 283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 3105 "tracker-sparql-expression.c"
		}
	}
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, " ELSE NULL END)");
#line 287 "/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 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 3120 "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 3128 "tracker-sparql-expression.c"
		}
	}
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = type;
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 3135 "tracker-sparql-expression.c"
}


static void
tracker_sparql_expression_translate_regex (TrackerSparqlExpression* self,
                                           GString* sql,
                                           GError** error)
{
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gboolean _tmp4_ = FALSE;
	GError * _inner_error_ = NULL;
#line 292 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 292 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 293 "/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 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3164 "tracker-sparql-expression.c"
		} else {
#line 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3172 "tracker-sparql-expression.c"
		}
	}
#line 294 "/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 294 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 294 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 294 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 294 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3185 "tracker-sparql-expression.c"
		} else {
#line 294 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 294 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 294 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3193 "tracker-sparql-expression.c"
		}
	}
#line 295 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, "SparqlRegex(");
#line 296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3208 "tracker-sparql-expression.c"
		} else {
#line 296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3216 "tracker-sparql-expression.c"
		}
	}
#line 297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, ", ");
#line 298 "/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 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 3231 "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 3239 "tracker-sparql-expression.c"
		}
	}
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = _tmp1_;
#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 3254 "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 3262 "tracker-sparql-expression.c"
		}
	}
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp0_);
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = _tmp2_;
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, _tmp3_);
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_free0 (_tmp3_);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, ", ");
#line 304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp4_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp0_);
#line 304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3287 "tracker-sparql-expression.c"
		} else {
#line 304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp0_);
#line 304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3297 "tracker-sparql-expression.c"
		}
	}
#line 304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp4_) {
#line 3302 "tracker-sparql-expression.c"
		gchar* _tmp5_ = NULL;
		gchar* _tmp6_;
		gchar* _tmp7_;
		gchar* _tmp8_;
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = _tmp6_;
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp0_);
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 3321 "tracker-sparql-expression.c"
			} else {
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp0_);
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 3331 "tracker-sparql-expression.c"
			}
		}
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp5_);
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = _tmp7_;
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, _tmp8_);
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp8_);
#line 304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp5_);
#line 3344 "tracker-sparql-expression.c"
	} else {
#line 309 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, "''");
#line 3348 "tracker-sparql-expression.c"
	}
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, ")");
#line 312 "/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 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp0_);
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3364 "tracker-sparql-expression.c"
		} else {
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp0_);
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3374 "tracker-sparql-expression.c"
		}
	}
#line 292 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_free0 (_tmp0_);
#line 3379 "tracker-sparql-expression.c"
}


static void
tracker_sparql_expression_translate_exists (TrackerSparqlExpression* self,
                                            GString* sql,
                                            GError** error)
{
	TrackerSparqlPattern* _tmp0_;
	TrackerSparqlPattern* _tmp1_;
	GError * _inner_error_ = NULL;
#line 315 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 315 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, "(");
#line 317 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_get_pattern (self);
#line 317 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _tmp0_;
#line 317 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_pattern_translate_exists (_tmp1_, sql, &_inner_error_);
#line 317 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 317 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 317 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 317 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3411 "tracker-sparql-expression.c"
		} else {
#line 317 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 317 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 317 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3419 "tracker-sparql-expression.c"
		}
	}
#line 318 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, ")");
#line 3424 "tracker-sparql-expression.c"
}


void
tracker_sparql_expression_append_expression_as_string (GString* sql,
                                                       const gchar* expression,
                                                       TrackerPropertyType type)
{
	glong begin = 0L;
	gssize _tmp0_;
#line 321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (expression != NULL);
#line 322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql->len;
#line 322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp0_;
#line 323 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, expression);
#line 324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_convert_expression_to_string (sql, type, begin);
#line 3447 "tracker-sparql-expression.c"
}


static void
tracker_sparql_expression_convert_expression_to_string (GString* sql,
                                                        TrackerPropertyType type,
                                                        glong begin)
{
#line 327 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	switch (type) {
#line 328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_PROPERTY_TYPE_STRING:
#line 328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_PROPERTY_TYPE_INTEGER:
#line 3464 "tracker-sparql-expression.c"
		{
#line 334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3468 "tracker-sparql-expression.c"
		}
#line 328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_PROPERTY_TYPE_RESOURCE:
#line 3472 "tracker-sparql-expression.c"
		{
#line 337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_insert (sql, (gssize) begin, "(SELECT Uri FROM Resource WHERE ID = ");
#line 338 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 339 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3480 "tracker-sparql-expression.c"
		}
#line 328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_PROPERTY_TYPE_BOOLEAN:
#line 3484 "tracker-sparql-expression.c"
		{
#line 342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_insert (sql, (gssize) begin, "CASE ");
#line 343 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, " WHEN 1 THEN 'true' WHEN 0 THEN 'false' ELSE NULL END");
#line 344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3492 "tracker-sparql-expression.c"
		}
#line 328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_PROPERTY_TYPE_DATE:
#line 3496 "tracker-sparql-expression.c"
		{
#line 347 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_insert (sql, (gssize) begin, "strftime (\"%Y-%m-%d\", ");
#line 348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ", \"unixepoch\")");
#line 349 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3504 "tracker-sparql-expression.c"
		}
#line 328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_PROPERTY_TYPE_DATETIME:
#line 3508 "tracker-sparql-expression.c"
		{
#line 352 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_insert (sql, (gssize) begin, "SparqlFormatTime (");
#line 353 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3516 "tracker-sparql-expression.c"
		}
		default:
		{
#line 357 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_insert (sql, (gssize) begin, "CAST (");
#line 358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, " AS TEXT)");
#line 359 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3526 "tracker-sparql-expression.c"
		}
	}
}


static void
tracker_sparql_expression_translate_expression_as_string (TrackerSparqlExpression* self,
                                                          GString* sql,
                                                          GError** error)
{
	GError * _inner_error_ = NULL;
#line 363 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 363 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	switch (tracker_sparql_expression_current (self)) {
#line 364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_IRI_REF:
#line 364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX:
#line 364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_COLON:
#line 3550 "tracker-sparql-expression.c"
		{
			TrackerSparqlLiteralBinding* binding = NULL;
			TrackerSparqlLiteralBinding* _tmp0_;
			gboolean is_var = FALSE;
			gchar* _tmp1_ = NULL;
			TrackerSparqlPattern* _tmp2_;
			TrackerSparqlPattern* _tmp3_;
			gboolean _tmp4_ = FALSE;
			gchar* _tmp5_;
			TrackerSparqlLiteralBinding* _tmp6_;
			gchar* _tmp7_;
			gboolean _tmp8_ = FALSE;
#line 369 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp0_ = tracker_sparql_literal_binding_new ();
#line 369 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			binding = _tmp0_;
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = tracker_sparql_expression_get_pattern (self);
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp3_ = _tmp2_;
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = tracker_sparql_pattern_parse_var_or_term (_tmp3_, NULL, &_tmp4_, &_inner_error_);
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			is_var = _tmp4_;
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp1_ = _tmp5_;
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_object_unref0 (binding);
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 3587 "tracker-sparql-expression.c"
				} else {
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_object_unref0 (binding);
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 3597 "tracker-sparql-expression.c"
				}
			}
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = binding;
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = _tmp1_;
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp1_ = NULL;
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp6_->literal);
#line 371 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_->literal = _tmp7_;
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp8_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (_tmp1_);
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_object_unref0 (binding);
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 3624 "tracker-sparql-expression.c"
				} else {
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (_tmp1_);
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_object_unref0 (binding);
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 3636 "tracker-sparql-expression.c"
				}
			}
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp8_) {
#line 3641 "tracker-sparql-expression.c"
				glong begin = 0L;
				gssize _tmp9_;
				TrackerPropertyType type = 0;
				TrackerSparqlLiteralBinding* _tmp10_;
				const gchar* _tmp11_;
				TrackerPropertyType _tmp12_;
				glong _tmp13_;
#line 374 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp9_ = sql->len;
#line 374 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				begin = (glong) _tmp9_;
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp10_ = binding;
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp11_ = _tmp10_->literal;
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				type = tracker_sparql_expression_translate_function (self, sql, _tmp11_, &_inner_error_);
#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_free0 (_tmp1_);
#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 3671 "tracker-sparql-expression.c"
					} else {
#line 375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_tmp1_);
#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 3683 "tracker-sparql-expression.c"
					}
				}
#line 376 "/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 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 (_tmp1_);
#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 3700 "tracker-sparql-expression.c"
					} else {
#line 376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_tmp1_);
#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 3712 "tracker-sparql-expression.c"
					}
				}
#line 377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp12_ = type;
#line 377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp13_ = begin;
#line 377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_expression_convert_expression_to_string (sql, _tmp12_, _tmp13_);
#line 3721 "tracker-sparql-expression.c"
			} else {
				TrackerSparqlQuery* _tmp14_;
				TrackerSparqlLiteralBinding* _tmp15_;
				TrackerSparqlLiteralBinding* _tmp16_;
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, "?");
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp14_ = self->priv->query;
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp15_ = binding;
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp16_ = _g_object_ref0 (_tmp15_);
#line 380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp14_->bindings = g_list_append (_tmp14_->bindings, _tmp16_);
#line 3736 "tracker-sparql-expression.c"
			}
#line 382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp1_);
#line 382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (binding);
#line 382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3744 "tracker-sparql-expression.c"
		}
		default:
		{
			glong begin = 0L;
			gssize _tmp17_;
			TrackerPropertyType type = 0;
			TrackerPropertyType _tmp18_;
			glong _tmp19_;
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp17_ = sql->len;
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			begin = (glong) _tmp17_;
#line 385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 3767 "tracker-sparql-expression.c"
				} else {
#line 385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return;
#line 3775 "tracker-sparql-expression.c"
				}
			}
#line 386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp18_ = type;
#line 386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp19_ = begin;
#line 386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_convert_expression_to_string (sql, _tmp18_, _tmp19_);
#line 387 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 3786 "tracker-sparql-expression.c"
		}
	}
}


static void
tracker_sparql_expression_translate_str (TrackerSparqlExpression* self,
                                         GString* sql,
                                         GError** error)
{
	GError * _inner_error_ = NULL;
#line 391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 392 "/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 392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3812 "tracker-sparql-expression.c"
		} else {
#line 392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3820 "tracker-sparql-expression.c"
		}
	}
#line 393 "/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 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3833 "tracker-sparql-expression.c"
		} else {
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3841 "tracker-sparql-expression.c"
		}
	}
#line 395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3854 "tracker-sparql-expression.c"
		} else {
#line 395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 3862 "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_CLOSE_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 3875 "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 3883 "tracker-sparql-expression.c"
		}
	}
}


static void
tracker_sparql_expression_translate_isuri (TrackerSparqlExpression* self,
                                           GString* sql,
                                           GError** error)
{
	gboolean _tmp0_ = FALSE;
	TrackerSparqlLiteralBinding* new_binding = NULL;
	TrackerSparqlLiteralBinding* _tmp1_;
	TrackerSparqlLiteralBinding* _tmp2_;
	TrackerSparqlQuery* _tmp13_;
	TrackerSparqlLiteralBinding* _tmp14_;
	TrackerSparqlLiteralBinding* _tmp15_;
	GError * _inner_error_ = NULL;
#line 400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 401 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_ISURI, &_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 3916 "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 3924 "tracker-sparql-expression.c"
		}
	}
#line 401 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (!_tmp0_) {
#line 402 "/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 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 3939 "tracker-sparql-expression.c"
			} else {
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 3947 "tracker-sparql-expression.c"
			}
		}
	}
#line 405 "/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 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 3961 "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 3969 "tracker-sparql-expression.c"
		}
	}
#line 407 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, "?");
#line 408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = tracker_sparql_literal_binding_new ();
#line 408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	new_binding = _tmp1_;
#line 409 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = new_binding;
#line 409 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	((TrackerSparqlDataBinding*) _tmp2_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
#line 411 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (tracker_sparql_expression_current (self) == TRACKER_SPARQL_TOKEN_TYPE_IRI_REF) {
#line 3984 "tracker-sparql-expression.c"
		TrackerSparqlLiteralBinding* _tmp3_;
		gchar* _tmp4_;
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = new_binding;
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = g_strdup ("1");
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp3_->literal);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_->literal = _tmp4_;
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_next (self, &_inner_error_);
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (new_binding);
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4007 "tracker-sparql-expression.c"
			} else {
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (new_binding);
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4017 "tracker-sparql-expression.c"
			}
		}
	} else {
		TrackerPropertyType _tmp5_ = 0;
		GString* _tmp6_;
		GString* _tmp7_;
		TrackerPropertyType _tmp8_;
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = g_string_new ("");
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = _tmp6_;
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = tracker_sparql_expression_translate_expression (self, _tmp7_, &_inner_error_);
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_string_free0 (_tmp7_);
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = _tmp8_;
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (new_binding);
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4045 "tracker-sparql-expression.c"
			} else {
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (new_binding);
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4055 "tracker-sparql-expression.c"
			}
		}
#line 414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp5_ == TRACKER_PROPERTY_TYPE_RESOURCE) {
#line 4060 "tracker-sparql-expression.c"
			TrackerSparqlLiteralBinding* _tmp9_;
			gchar* _tmp10_;
#line 415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp9_ = new_binding;
#line 415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = g_strdup ("1");
#line 415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp9_->literal);
#line 415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp9_->literal = _tmp10_;
#line 4071 "tracker-sparql-expression.c"
		} else {
			TrackerSparqlLiteralBinding* _tmp11_;
			gchar* _tmp12_;
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp11_ = new_binding;
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp12_ = g_strdup ("0");
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp11_->literal);
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp11_->literal = _tmp12_;
#line 4083 "tracker-sparql-expression.c"
		}
	}
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp13_ = self->priv->query;
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp14_ = new_binding;
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp15_ = _g_object_ref0 (_tmp14_);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp13_->bindings = g_list_append (_tmp13_->bindings, _tmp15_);
#line 422 "/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 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (new_binding);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4106 "tracker-sparql-expression.c"
		} else {
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (new_binding);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4116 "tracker-sparql-expression.c"
		}
	}
#line 400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_object_unref0 (new_binding);
#line 4121 "tracker-sparql-expression.c"
}


static void
tracker_sparql_expression_translate_datatype (TrackerSparqlExpression* self,
                                              GString* sql,
                                              GError** error)
{
	gboolean _tmp0_ = FALSE;
	GError * _inner_error_ = NULL;
#line 425 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 425 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 426 "/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 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"
			return;
#line 4146 "tracker-sparql-expression.c"
		} else {
#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 4154 "tracker-sparql-expression.c"
		}
	}
#line 427 "/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 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4167 "tracker-sparql-expression.c"
		} else {
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4175 "tracker-sparql-expression.c"
		}
	}
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4188 "tracker-sparql-expression.c"
		} else {
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4196 "tracker-sparql-expression.c"
		}
	}
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 4201 "tracker-sparql-expression.c"
		gchar* variable_name = NULL;
		gchar* _tmp1_;
		gchar* _tmp2_;
		gchar* _tmp3_;
		gchar* _tmp4_;
		TrackerSparqlVariable* variable = NULL;
		TrackerSparqlContext* _tmp5_;
		TrackerSparqlContext* _tmp6_;
		const gchar* _tmp7_;
		TrackerSparqlVariable* _tmp8_;
		TrackerSparqlVariable* _tmp9_;
		TrackerSparqlVariable* _tmp10_;
		TrackerSparqlVariableBinding* _tmp11_;
		gboolean _tmp19_ = FALSE;
		TrackerSparqlVariable* _tmp20_;
		TrackerSparqlVariableBinding* _tmp21_;
		TrackerPropertyType _tmp22_;
		TrackerSparqlLiteralBinding* new_binding = NULL;
		TrackerSparqlLiteralBinding* _tmp27_;
		TrackerSparqlLiteralBinding* _tmp28_;
		TrackerSparqlVariable* _tmp29_;
		TrackerSparqlVariableBinding* _tmp30_;
		TrackerClass* _tmp31_;
		const gchar* _tmp32_;
		const gchar* _tmp33_;
		gchar* _tmp34_;
		TrackerSparqlQuery* _tmp35_;
		TrackerSparqlLiteralBinding* _tmp36_;
		TrackerSparqlLiteralBinding* _tmp37_;
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = tracker_sparql_expression_get_last_string (self, 0);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = _tmp1_;
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = string_substring (_tmp2_, (glong) 1, (glong) -1);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = _tmp3_;
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp2_);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable_name = _tmp4_;
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = tracker_sparql_expression_get_context (self);
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = _tmp5_;
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = variable_name;
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = tracker_sparql_context_get_variable (_tmp6_, _tmp7_);
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = _g_object_ref0 (_tmp8_);
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable = _tmp9_;
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_ = variable;
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = _tmp10_->binding;
#line 433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp11_ == NULL) {
#line 4261 "tracker-sparql-expression.c"
			TrackerSparqlVariable* _tmp12_;
			const gchar* _tmp13_;
			const gchar* _tmp14_;
			gchar* _tmp15_;
			gchar* _tmp16_;
			GError* _tmp17_;
			GError* _tmp18_;
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp12_ = variable;
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp13_ = tracker_sparql_variable_get_name (_tmp12_);
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp14_ = _tmp13_;
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp15_ = g_strdup_printf ("`%s' is not a valid variable", _tmp14_);
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp16_ = _tmp15_;
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp17_ = tracker_sparql_expression_get_error (self, _tmp16_);
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp18_ = _tmp17_;
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp16_);
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp18_;
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (variable_name);
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4297 "tracker-sparql-expression.c"
			} else {
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (variable_name);
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4309 "tracker-sparql-expression.c"
			}
		}
#line 437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp20_ = variable;
#line 437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp21_ = _tmp20_->binding;
#line 437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp22_ = ((TrackerSparqlDataBinding*) _tmp21_)->data_type;
#line 437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp22_ == TRACKER_PROPERTY_TYPE_RESOURCE) {
#line 437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp19_ = TRUE;
#line 4322 "tracker-sparql-expression.c"
		} else {
			TrackerSparqlVariable* _tmp23_;
			TrackerSparqlVariableBinding* _tmp24_;
			TrackerClass* _tmp25_;
#line 437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp23_ = variable;
#line 437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp24_ = _tmp23_->binding;
#line 437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp25_ = _tmp24_->type;
#line 437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp19_ = _tmp25_ == NULL;
#line 4335 "tracker-sparql-expression.c"
		}
#line 437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp19_) {
#line 4339 "tracker-sparql-expression.c"
			GError* _tmp26_;
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp26_ = tracker_sparql_expression_get_error (self, "Invalid FILTER");
#line 438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp26_;
#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 4355 "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 4367 "tracker-sparql-expression.c"
			}
		}
#line 441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, "(SELECT ID FROM Resource WHERE Uri = ?)");
#line 443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp27_ = tracker_sparql_literal_binding_new ();
#line 443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		new_binding = _tmp27_;
#line 444 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp28_ = new_binding;
#line 444 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp29_ = variable;
#line 444 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp30_ = _tmp29_->binding;
#line 444 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp31_ = _tmp30_->type;
#line 444 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp32_ = tracker_class_get_uri (_tmp31_);
#line 444 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp33_ = _tmp32_;
#line 444 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp34_ = g_strdup (_tmp33_);
#line 444 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp28_->literal);
#line 444 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp28_->literal = _tmp34_;
#line 445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp35_ = self->priv->query;
#line 445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp36_ = new_binding;
#line 445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp37_ = _g_object_ref0 (_tmp36_);
#line 445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp35_->bindings = g_list_append (_tmp35_->bindings, _tmp37_);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_object_unref0 (new_binding);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_object_unref0 (variable);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (variable_name);
#line 4408 "tracker-sparql-expression.c"
	} else {
		GError* _tmp38_;
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp38_ = tracker_sparql_expression_get_error (self, "Invalid FILTER");
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_inner_error_ = _tmp38_;
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4421 "tracker-sparql-expression.c"
		} else {
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4429 "tracker-sparql-expression.c"
		}
	}
#line 451 "/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 451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4442 "tracker-sparql-expression.c"
		} else {
#line 451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4450 "tracker-sparql-expression.c"
		}
	}
}


static void
tracker_sparql_expression_translate_date (TrackerSparqlExpression* self,
                                          GString* sql,
                                          const gchar* format,
                                          GError** error)
{
	gboolean _tmp0_ = FALSE;
	GError * _inner_error_ = NULL;
#line 454 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 454 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 454 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (format != NULL);
#line 455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append_printf (sql, "strftime (\"%s\", ", format);
#line 457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
#line 457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4482 "tracker-sparql-expression.c"
		} else {
#line 457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4490 "tracker-sparql-expression.c"
		}
	}
#line 457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 4495 "tracker-sparql-expression.c"
		gchar* variable_name = NULL;
		gchar* _tmp1_;
		gchar* _tmp2_;
		gchar* _tmp3_;
		gchar* _tmp4_;
		TrackerSparqlVariable* variable = NULL;
		TrackerSparqlContext* _tmp5_;
		TrackerSparqlContext* _tmp6_;
		const gchar* _tmp7_;
		TrackerSparqlVariable* _tmp8_;
		TrackerSparqlVariable* _tmp9_;
		TrackerSparqlVariable* _tmp10_;
		gchar* _tmp11_;
		gchar* _tmp12_;
#line 458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = tracker_sparql_expression_get_last_string (self, 0);
#line 458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = _tmp1_;
#line 458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = string_substring (_tmp2_, (glong) 1, (glong) -1);
#line 458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = _tmp3_;
#line 458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp2_);
#line 458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable_name = _tmp4_;
#line 459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = tracker_sparql_expression_get_context (self);
#line 459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = _tmp5_;
#line 459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = variable_name;
#line 459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = tracker_sparql_context_get_variable (_tmp6_, _tmp7_);
#line 459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = _g_object_ref0 (_tmp8_);
#line 459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable = _tmp9_;
#line 460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_ = variable;
#line 460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = tracker_sparql_variable_get_extra_sql_expression (_tmp10_, "localDate");
#line 460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp12_ = _tmp11_;
#line 460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, _tmp12_);
#line 460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp12_);
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, " * 24 * 3600");
#line 457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_object_unref0 (variable);
#line 457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (variable_name);
#line 4550 "tracker-sparql-expression.c"
	} else {
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_translate_primary_expression (self, sql, &_inner_error_);
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4562 "tracker-sparql-expression.c"
			} else {
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4570 "tracker-sparql-expression.c"
			}
		}
	}
#line 466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, ", \"unixepoch\")");
#line 4576 "tracker-sparql-expression.c"
}


static void
tracker_sparql_expression_translate_time (TrackerSparqlExpression* self,
                                          GString* sql,
                                          TrackerSparqlExpressionTimeFormatType type,
                                          GError** error)
{
	gboolean _tmp0_ = FALSE;
	GError * _inner_error_ = NULL;
#line 469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (self != NULL);
#line 469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_if_fail (sql != NULL);
#line 470 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, "(");
#line 471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
#line 471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4604 "tracker-sparql-expression.c"
		} else {
#line 471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return;
#line 4612 "tracker-sparql-expression.c"
		}
	}
#line 471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 4617 "tracker-sparql-expression.c"
		gchar* variable_name = NULL;
		gchar* _tmp1_;
		gchar* _tmp2_;
		gchar* _tmp3_;
		gchar* _tmp4_;
		TrackerSparqlVariable* variable = NULL;
		TrackerSparqlContext* _tmp5_;
		TrackerSparqlContext* _tmp6_;
		const gchar* _tmp7_;
		TrackerSparqlVariable* _tmp8_;
		TrackerSparqlVariable* _tmp9_;
		TrackerSparqlVariable* _tmp10_;
		gchar* _tmp11_;
		gchar* _tmp12_;
#line 472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = tracker_sparql_expression_get_last_string (self, 0);
#line 472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = _tmp1_;
#line 472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = string_substring (_tmp2_, (glong) 1, (glong) -1);
#line 472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = _tmp3_;
#line 472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp2_);
#line 472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable_name = _tmp4_;
#line 473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = tracker_sparql_expression_get_context (self);
#line 473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = _tmp5_;
#line 473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = variable_name;
#line 473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = tracker_sparql_context_get_variable (_tmp6_, _tmp7_);
#line 473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = _g_object_ref0 (_tmp8_);
#line 473 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable = _tmp9_;
#line 474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_ = variable;
#line 474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = tracker_sparql_variable_get_extra_sql_expression (_tmp10_, "localTime");
#line 474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp12_ = _tmp11_;
#line 474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, _tmp12_);
#line 474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp12_);
#line 471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_object_unref0 (variable);
#line 471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (variable_name);
#line 4670 "tracker-sparql-expression.c"
	} else {
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_translate_primary_expression (self, sql, &_inner_error_);
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4682 "tracker-sparql-expression.c"
			} else {
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return;
#line 4690 "tracker-sparql-expression.c"
			}
		}
	}
#line 479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	switch (type) {
#line 479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_SECONDS:
#line 4698 "tracker-sparql-expression.c"
		{
#line 481 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "% 60");
#line 482 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 4704 "tracker-sparql-expression.c"
		}
#line 479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_MINUTES:
#line 4708 "tracker-sparql-expression.c"
		{
#line 484 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, " / 60 % 60");
#line 485 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 4714 "tracker-sparql-expression.c"
		}
#line 479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_HOURS:
#line 4718 "tracker-sparql-expression.c"
		{
#line 487 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, " / 3600 % 24");
#line 488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 4724 "tracker-sparql-expression.c"
		}
		default:
#line 479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		break;
#line 4729 "tracker-sparql-expression.c"
	}
#line 490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, ")");
#line 4733 "tracker-sparql-expression.c"
}


static gchar*
g_unichar_to_string (gunichar self)
{
	gchar* result = NULL;
	gchar* str = NULL;
	gchar* _tmp0_;
	const gchar* _tmp1_;
#line 963 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp0_ = g_new0 (gchar, 7);
#line 963 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	str = (gchar*) _tmp0_;
#line 964 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp1_ = str;
#line 964 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_unichar_to_utf8 (self, _tmp1_);
#line 965 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	result = str;
#line 965 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	return result;
#line 4756 "tracker-sparql-expression.c"
}


static TrackerPropertyType
tracker_sparql_expression_translate_function (TrackerSparqlExpression* self,
                                              GString* sql,
                                              const gchar* uri,
                                              GError** error)
{
	TrackerPropertyType result = 0;
	GError * _inner_error_ = NULL;
#line 493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (uri != NULL, 0);
#line 494 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_XSD_NS "string") == 0) {
#line 496 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 496 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 496 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 496 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 496 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 4786 "tracker-sparql-expression.c"
			} else {
#line 496 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 496 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 496 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 4794 "tracker-sparql-expression.c"
			}
		}
#line 498 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		result = TRACKER_PROPERTY_TYPE_STRING;
#line 498 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		return result;
#line 4801 "tracker-sparql-expression.c"
	} else {
#line 499 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_XSD_NS "integer") == 0) {
#line 501 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "CAST (");
#line 502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 4817 "tracker-sparql-expression.c"
				} else {
#line 502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 4825 "tracker-sparql-expression.c"
				}
			}
#line 503 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, " AS INTEGER)");
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 4834 "tracker-sparql-expression.c"
		} else {
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_XSD_NS "double") == 0) {
#line 508 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, "CAST (");
#line 509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 4850 "tracker-sparql-expression.c"
					} else {
#line 509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 4858 "tracker-sparql-expression.c"
					}
				}
#line 510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, " AS REAL)");
#line 512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				result = TRACKER_PROPERTY_TYPE_DOUBLE;
#line 512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return result;
#line 4867 "tracker-sparql-expression.c"
			} else {
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "case-fold") == 0) {
#line 515 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_string_append (sql, "SparqlCaseFold (");
#line 516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_propagate_error (error, _inner_error_);
#line 516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							return 0;
#line 4883 "tracker-sparql-expression.c"
						} else {
#line 516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_clear_error (&_inner_error_);
#line 516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							return 0;
#line 4891 "tracker-sparql-expression.c"
						}
					}
#line 517 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_string_append (sql, ")");
#line 518 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					result = TRACKER_PROPERTY_TYPE_STRING;
#line 518 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return result;
#line 4900 "tracker-sparql-expression.c"
				} else {
#line 519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "ascii-lower-case") == 0) {
#line 521 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_string_append (sql, "lower (");
#line 522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_propagate_error (error, _inner_error_);
#line 522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return 0;
#line 4916 "tracker-sparql-expression.c"
							} else {
#line 522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_clear_error (&_inner_error_);
#line 522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return 0;
#line 4924 "tracker-sparql-expression.c"
							}
						}
#line 523 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_string_append (sql, ")");
#line 524 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						result = TRACKER_PROPERTY_TYPE_STRING;
#line 524 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return result;
#line 4933 "tracker-sparql-expression.c"
					} else {
#line 525 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "title-order") == 0) {
#line 526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							tracker_sparql_expression_translate_expression_as_string (self, sql, &_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 4947 "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 4955 "tracker-sparql-expression.c"
								}
							}
#line 527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_printf (sql, " COLLATE %s", TRACKER_TITLE_COLLATION_NAME);
#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 4964 "tracker-sparql-expression.c"
						} else {
#line 529 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "lower-case") == 0) {
#line 531 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_string_append (sql, "SparqlLowerCase (");
#line 532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								tracker_sparql_expression_translate_expression_as_string (self, sql, &_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 4980 "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 4988 "tracker-sparql-expression.c"
									}
								}
#line 533 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_string_append (sql, ")");
#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 4997 "tracker-sparql-expression.c"
							} else {
#line 535 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "upper-case") == 0) {
#line 536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_string_append (sql, "SparqlUpperCase (");
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_propagate_error (error, _inner_error_);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											return 0;
#line 5013 "tracker-sparql-expression.c"
										} else {
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_clear_error (&_inner_error_);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											return 0;
#line 5021 "tracker-sparql-expression.c"
										}
									}
#line 538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_string_append (sql, ")");
#line 539 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									result = TRACKER_PROPERTY_TYPE_STRING;
#line 539 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									return result;
#line 5030 "tracker-sparql-expression.c"
								} else {
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "normalize") == 0) {
#line 542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_string_append (sql, "SparqlNormalize (");
#line 543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_propagate_error (error, _inner_error_);
#line 543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												return 0;
#line 5046 "tracker-sparql-expression.c"
											} else {
#line 543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_clear_error (&_inner_error_);
#line 543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												return 0;
#line 5054 "tracker-sparql-expression.c"
											}
										}
#line 544 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_string_append (sql, ", ");
#line 545 "/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 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_propagate_error (error, _inner_error_);
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												return 0;
#line 5069 "tracker-sparql-expression.c"
											} else {
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_clear_error (&_inner_error_);
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												return 0;
#line 5077 "tracker-sparql-expression.c"
											}
										}
#line 546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_propagate_error (error, _inner_error_);
#line 546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												return 0;
#line 5090 "tracker-sparql-expression.c"
											} else {
#line 546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_clear_error (&_inner_error_);
#line 546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												return 0;
#line 5098 "tracker-sparql-expression.c"
											}
										}
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_string_append (sql, ")");
#line 548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										result = TRACKER_PROPERTY_TYPE_STRING;
#line 548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										return result;
#line 5107 "tracker-sparql-expression.c"
									} else {
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "unaccent") == 0) {
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_string_append (sql, "SparqlUnaccent (");
#line 552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_propagate_error (error, _inner_error_);
#line 552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													return 0;
#line 5123 "tracker-sparql-expression.c"
												} else {
#line 552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_clear_error (&_inner_error_);
#line 552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													return 0;
#line 5131 "tracker-sparql-expression.c"
												}
											}
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_string_append (sql, ")");
#line 554 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											result = TRACKER_PROPERTY_TYPE_STRING;
#line 554 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											return result;
#line 5140 "tracker-sparql-expression.c"
										} else {
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "contains") == 0) {
#line 5144 "tracker-sparql-expression.c"
												TrackerSparqlLiteralBinding* binding = NULL;
												TrackerSparqlLiteralBinding* _tmp0_;
												gchar* _tmp1_ = NULL;
												gchar* _tmp2_;
												TrackerSparqlLiteralBinding* _tmp3_;
												gchar* _tmp4_;
												TrackerSparqlQuery* _tmp5_;
												TrackerSparqlLiteralBinding* _tmp6_;
												TrackerSparqlLiteralBinding* _tmp7_;
#line 557 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_string_append (sql, "(");
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_propagate_error (error, _inner_error_);
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														return 0;
#line 5166 "tracker-sparql-expression.c"
													} else {
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_clear_error (&_inner_error_);
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														return 0;
#line 5174 "tracker-sparql-expression.c"
													}
												}
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_string_append (sql, " GLOB ");
#line 560 "/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 560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_propagate_error (error, _inner_error_);
#line 560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														return 0;
#line 5189 "tracker-sparql-expression.c"
													} else {
#line 560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_clear_error (&_inner_error_);
#line 560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														return 0;
#line 5197 "tracker-sparql-expression.c"
													}
												}
#line 562 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_string_append (sql, "?");
#line 563 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp0_ = tracker_sparql_literal_binding_new ();
#line 563 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												binding = _tmp0_;
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp2_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp1_ = _tmp2_;
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_propagate_error (error, _inner_error_);
#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 0;
#line 5220 "tracker-sparql-expression.c"
													} else {
#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"
														g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_clear_error (&_inner_error_);
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														return 0;
#line 5230 "tracker-sparql-expression.c"
													}
												}
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp3_ = binding;
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp4_ = g_strdup_printf ("*%s*", _tmp1_);
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_g_free0 (_tmp3_->literal);
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp3_->literal = _tmp4_;
#line 565 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp5_ = self->priv->query;
#line 565 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp6_ = binding;
#line 565 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp7_ = _g_object_ref0 (_tmp6_);
#line 565 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_tmp5_->bindings = g_list_append (_tmp5_->bindings, _tmp7_);
#line 567 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												g_string_append (sql, ")");
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_g_free0 (_tmp1_);
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												_g_object_unref0 (binding);
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												return result;
#line 5259 "tracker-sparql-expression.c"
											} else {
#line 570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
												if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "starts-with") == 0) {
#line 5263 "tracker-sparql-expression.c"
													gchar* prefix = NULL;
													gchar* _tmp8_;
													TrackerSparqlLiteralBinding* binding = NULL;
													TrackerSparqlLiteralBinding* _tmp9_;
													TrackerSparqlLiteralBinding* _tmp10_;
													const gchar* _tmp11_;
													gchar* _tmp12_;
													TrackerSparqlQuery* _tmp13_;
													TrackerSparqlLiteralBinding* _tmp14_;
													TrackerSparqlLiteralBinding* _tmp15_;
													TrackerSparqlLiteralBinding* _tmp16_;
													TrackerSparqlLiteralBinding* _tmp17_;
													const gchar* _tmp18_;
													gchar* _tmp19_;
													gchar* _tmp20_;
													gchar* _tmp21_;
													TrackerSparqlQuery* _tmp22_;
													TrackerSparqlLiteralBinding* _tmp23_;
													TrackerSparqlLiteralBinding* _tmp24_;
#line 574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_propagate_error (error, _inner_error_);
#line 574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return 0;
#line 5293 "tracker-sparql-expression.c"
														} else {
#line 574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_clear_error (&_inner_error_);
#line 574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return 0;
#line 5301 "tracker-sparql-expression.c"
														}
													}
#line 575 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_string_append (sql, " BETWEEN ");
#line 577 "/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 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_propagate_error (error, _inner_error_);
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return 0;
#line 5316 "tracker-sparql-expression.c"
														} else {
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_clear_error (&_inner_error_);
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return 0;
#line 5324 "tracker-sparql-expression.c"
														}
													}
#line 578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp8_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													prefix = _tmp8_;
#line 578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_propagate_error (error, _inner_error_);
#line 578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return 0;
#line 5339 "tracker-sparql-expression.c"
														} else {
#line 578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_clear_error (&_inner_error_);
#line 578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return 0;
#line 5347 "tracker-sparql-expression.c"
														}
													}
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_string_append (sql, "?");
#line 581 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp9_ = tracker_sparql_literal_binding_new ();
#line 581 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													binding = _tmp9_;
#line 582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp10_ = binding;
#line 582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp11_ = prefix;
#line 582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp12_ = g_strdup (_tmp11_);
#line 582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_g_free0 (_tmp10_->literal);
#line 582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp10_->literal = _tmp12_;
#line 583 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp13_ = self->priv->query;
#line 583 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp14_ = binding;
#line 583 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp15_ = _g_object_ref0 (_tmp14_);
#line 583 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp13_->bindings = g_list_append (_tmp13_->bindings, _tmp15_);
#line 585 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_string_append (sql, " AND ");
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													g_string_append (sql, "?");
#line 588 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp16_ = tracker_sparql_literal_binding_new ();
#line 588 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_g_object_unref0 (binding);
#line 588 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													binding = _tmp16_;
#line 589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp17_ = binding;
#line 589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp18_ = prefix;
#line 589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp19_ = g_unichar_to_string (TRACKER_COLLATION_LAST_CHAR);
#line 589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp20_ = _tmp19_;
#line 589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp21_ = g_strconcat (_tmp18_, _tmp20_, NULL);
#line 589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_g_free0 (_tmp17_->literal);
#line 589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp17_->literal = _tmp21_;
#line 589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_g_free0 (_tmp20_);
#line 590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp22_ = self->priv->query;
#line 590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp23_ = binding;
#line 590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp24_ = _g_object_ref0 (_tmp23_);
#line 590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_tmp22_->bindings = g_list_append (_tmp22_->bindings, _tmp24_);
#line 592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_g_object_unref0 (binding);
#line 592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													_g_free0 (prefix);
#line 592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													return result;
#line 5416 "tracker-sparql-expression.c"
												} else {
#line 593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
													if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "ends-with") == 0) {
#line 5420 "tracker-sparql-expression.c"
														TrackerSparqlLiteralBinding* binding = NULL;
														TrackerSparqlLiteralBinding* _tmp25_;
														gchar* _tmp26_ = NULL;
														gchar* _tmp27_;
														TrackerSparqlLiteralBinding* _tmp28_;
														gchar* _tmp29_;
														TrackerSparqlQuery* _tmp30_;
														TrackerSparqlLiteralBinding* _tmp31_;
														TrackerSparqlLiteralBinding* _tmp32_;
#line 595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_string_append (sql, "(");
#line 596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_propagate_error (error, _inner_error_);
#line 596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return 0;
#line 5442 "tracker-sparql-expression.c"
															} else {
#line 596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_clear_error (&_inner_error_);
#line 596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return 0;
#line 5450 "tracker-sparql-expression.c"
															}
														}
#line 597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_string_append (sql, " GLOB ");
#line 598 "/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 598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_propagate_error (error, _inner_error_);
#line 598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return 0;
#line 5465 "tracker-sparql-expression.c"
															} else {
#line 598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_clear_error (&_inner_error_);
#line 598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return 0;
#line 5473 "tracker-sparql-expression.c"
															}
														}
#line 600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_string_append (sql, "?");
#line 601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp25_ = tracker_sparql_literal_binding_new ();
#line 601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														binding = _tmp25_;
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp27_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp26_ = _tmp27_;
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_propagate_error (error, _inner_error_);
#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 0;
#line 5496 "tracker-sparql-expression.c"
															} else {
#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"
																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_clear_error (&_inner_error_);
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return 0;
#line 5506 "tracker-sparql-expression.c"
															}
														}
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp28_ = binding;
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp29_ = g_strdup_printf ("*%s", _tmp26_);
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_g_free0 (_tmp28_->literal);
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp28_->literal = _tmp29_;
#line 603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp30_ = self->priv->query;
#line 603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp31_ = binding;
#line 603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp32_ = _g_object_ref0 (_tmp31_);
#line 603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_tmp30_->bindings = g_list_append (_tmp30_->bindings, _tmp32_);
#line 605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														g_string_append (sql, ")");
#line 607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_g_free0 (_tmp26_);
#line 607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														_g_object_unref0 (binding);
#line 607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														return result;
#line 5535 "tracker-sparql-expression.c"
													} else {
#line 608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
														if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "substring") == 0) {
#line 5539 "tracker-sparql-expression.c"
															gboolean _tmp33_ = FALSE;
#line 609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_string_append (sql, "substr(");
#line 610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_propagate_error (error, _inner_error_);
#line 610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 5553 "tracker-sparql-expression.c"
																} else {
#line 610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_clear_error (&_inner_error_);
#line 610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 5561 "tracker-sparql-expression.c"
																}
															}
#line 612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_string_append (sql, ", ");
#line 613 "/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 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 5576 "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 5584 "tracker-sparql-expression.c"
																}
															}
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_propagate_error (error, _inner_error_);
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 5597 "tracker-sparql-expression.c"
																} else {
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_clear_error (&_inner_error_);
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 5605 "tracker-sparql-expression.c"
																}
															}
#line 616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															_tmp33_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_propagate_error (error, _inner_error_);
#line 616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 5618 "tracker-sparql-expression.c"
																} else {
#line 616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_clear_error (&_inner_error_);
#line 616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return 0;
#line 5626 "tracker-sparql-expression.c"
																}
															}
#line 616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (_tmp33_) {
#line 617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_string_append (sql, ", ");
#line 618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_propagate_error (error, _inner_error_);
#line 618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return 0;
#line 5643 "tracker-sparql-expression.c"
																	} else {
#line 618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_clear_error (&_inner_error_);
#line 618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return 0;
#line 5651 "tracker-sparql-expression.c"
																	}
																}
															}
#line 621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															g_string_append (sql, ")");
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															result = TRACKER_PROPERTY_TYPE_STRING;
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															return result;
#line 5661 "tracker-sparql-expression.c"
														} else {
#line 624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
															if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "concat") == 0) {
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_propagate_error (error, _inner_error_);
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return 0;
#line 5675 "tracker-sparql-expression.c"
																	} else {
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_clear_error (&_inner_error_);
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return 0;
#line 5683 "tracker-sparql-expression.c"
																	}
																}
#line 626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																g_string_append (sql, "||");
#line 627 "/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 627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_propagate_error (error, _inner_error_);
#line 627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return 0;
#line 5698 "tracker-sparql-expression.c"
																	} else {
#line 627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_clear_error (&_inner_error_);
#line 627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return 0;
#line 5706 "tracker-sparql-expression.c"
																	}
																}
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_propagate_error (error, _inner_error_);
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return 0;
#line 5719 "tracker-sparql-expression.c"
																	} else {
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_clear_error (&_inner_error_);
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return 0;
#line 5727 "tracker-sparql-expression.c"
																	}
																}
#line 629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																while (TRUE) {
#line 5732 "tracker-sparql-expression.c"
																	gboolean _tmp34_ = FALSE;
#line 629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	_tmp34_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_propagate_error (error, _inner_error_);
#line 629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 5744 "tracker-sparql-expression.c"
																		} else {
#line 629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_clear_error (&_inner_error_);
#line 629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 5752 "tracker-sparql-expression.c"
																		}
																	}
#line 629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (!_tmp34_) {
#line 629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		break;
#line 5759 "tracker-sparql-expression.c"
																	}
#line 630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_string_append (sql, "||");
#line 631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_propagate_error (error, _inner_error_);
#line 631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 5773 "tracker-sparql-expression.c"
																		} else {
#line 631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_clear_error (&_inner_error_);
#line 631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 5781 "tracker-sparql-expression.c"
																		}
																	}
																}
#line 634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																result = TRACKER_PROPERTY_TYPE_STRING;
#line 634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																return result;
#line 5789 "tracker-sparql-expression.c"
															} else {
#line 635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "string-join") == 0) {
#line 636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_string_append (sql, "SparqlStringJoin(");
#line 637 "/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 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 5805 "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 5813 "tracker-sparql-expression.c"
																		}
																	}
#line 639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_propagate_error (error, _inner_error_);
#line 639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 5826 "tracker-sparql-expression.c"
																		} else {
#line 639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_clear_error (&_inner_error_);
#line 639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 5834 "tracker-sparql-expression.c"
																		}
																	}
#line 640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_string_append (sql, ", ");
#line 641 "/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 641 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 641 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 641 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_propagate_error (error, _inner_error_);
#line 641 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 5849 "tracker-sparql-expression.c"
																		} else {
#line 641 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 641 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_clear_error (&_inner_error_);
#line 641 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 5857 "tracker-sparql-expression.c"
																		}
																	}
#line 642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_propagate_error (error, _inner_error_);
#line 642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 5870 "tracker-sparql-expression.c"
																		} else {
#line 642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_clear_error (&_inner_error_);
#line 642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 5878 "tracker-sparql-expression.c"
																		}
																	}
#line 643 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	while (TRUE) {
#line 5883 "tracker-sparql-expression.c"
																		gboolean _tmp35_ = FALSE;
#line 643 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		_tmp35_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_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 5895 "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 5903 "tracker-sparql-expression.c"
																			}
																		}
#line 643 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		if (!_tmp35_) {
#line 643 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			break;
#line 5910 "tracker-sparql-expression.c"
																		}
#line 644 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		g_string_append (sql, ", ");
#line 645 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		tracker_sparql_expression_translate_expression_as_string (self, sql, &_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 5924 "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 5932 "tracker-sparql-expression.c"
																			}
																		}
																	}
#line 648 "/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 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_propagate_error (error, _inner_error_);
#line 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 5946 "tracker-sparql-expression.c"
																		} else {
#line 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_clear_error (&_inner_error_);
#line 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 5954 "tracker-sparql-expression.c"
																		}
																	}
#line 649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_string_append (sql, ",");
#line 650 "/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 650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_propagate_error (error, _inner_error_);
#line 650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 5969 "tracker-sparql-expression.c"
																		} else {
#line 650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			g_clear_error (&_inner_error_);
#line 650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return 0;
#line 5977 "tracker-sparql-expression.c"
																		}
																	}
#line 651 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	tracker_sparql_expression_translate_expression (self, sql, &_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 5990 "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 5998 "tracker-sparql-expression.c"
																		}
																	}
#line 652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	g_string_append (sql, ")");
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	result = TRACKER_PROPERTY_TYPE_STRING;
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	return result;
#line 6007 "tracker-sparql-expression.c"
																} else {
#line 655 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																	if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "year-from-dateTime") == 0) {
#line 656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		tracker_sparql_expression_translate_date (self, sql, "%Y", &_inner_error_);
#line 656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				g_propagate_error (error, _inner_error_);
#line 656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				return 0;
#line 6021 "tracker-sparql-expression.c"
																			} else {
#line 656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				g_clear_error (&_inner_error_);
#line 656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				return 0;
#line 6029 "tracker-sparql-expression.c"
																			}
																		}
#line 657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		return result;
#line 6036 "tracker-sparql-expression.c"
																	} else {
#line 658 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																		if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "month-from-dateTime") == 0) {
#line 659 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			tracker_sparql_expression_translate_date (self, sql, "%m", &_inner_error_);
#line 659 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 659 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 659 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					g_propagate_error (error, _inner_error_);
#line 659 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					return 0;
#line 6050 "tracker-sparql-expression.c"
																				} else {
#line 659 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 659 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					g_clear_error (&_inner_error_);
#line 659 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					return 0;
#line 6058 "tracker-sparql-expression.c"
																				}
																			}
#line 660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			return result;
#line 6065 "tracker-sparql-expression.c"
																		} else {
#line 661 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																			if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "day-from-dateTime") == 0) {
#line 662 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				tracker_sparql_expression_translate_date (self, sql, "%d", &_inner_error_);
#line 662 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 662 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 662 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_propagate_error (error, _inner_error_);
#line 662 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						return 0;
#line 6079 "tracker-sparql-expression.c"
																					} else {
#line 662 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 662 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						g_clear_error (&_inner_error_);
#line 662 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						return 0;
#line 6087 "tracker-sparql-expression.c"
																					}
																				}
#line 663 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 663 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				return result;
#line 6094 "tracker-sparql-expression.c"
																			} else {
#line 664 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																				if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "hours-from-dateTime") == 0) {
#line 665 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					tracker_sparql_expression_translate_time (self, sql, TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_HOURS, &_inner_error_);
#line 665 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 665 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 665 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							g_propagate_error (error, _inner_error_);
#line 665 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							return 0;
#line 6108 "tracker-sparql-expression.c"
																						} else {
#line 665 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 665 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							g_clear_error (&_inner_error_);
#line 665 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							return 0;
#line 6116 "tracker-sparql-expression.c"
																						}
																					}
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					return result;
#line 6123 "tracker-sparql-expression.c"
																				} else {
#line 667 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																					if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "minutes-from-dateTime") == 0) {
#line 668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						tracker_sparql_expression_translate_time (self, sql, TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_MINUTES, &_inner_error_);
#line 668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_propagate_error (error, _inner_error_);
#line 668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								return 0;
#line 6137 "tracker-sparql-expression.c"
																							} else {
#line 668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_clear_error (&_inner_error_);
#line 668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								return 0;
#line 6145 "tracker-sparql-expression.c"
																							}
																						}
#line 669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						return result;
#line 6152 "tracker-sparql-expression.c"
																					} else {
#line 670 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																						if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "seconds-from-dateTime") == 0) {
#line 671 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							tracker_sparql_expression_translate_time (self, sql, TRACKER_SPARQL_EXPRESSION_TIME_FORMAT_TYPE_SECONDS, &_inner_error_);
#line 671 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 671 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 671 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_propagate_error (error, _inner_error_);
#line 671 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									return 0;
#line 6166 "tracker-sparql-expression.c"
																								} else {
#line 671 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 671 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_clear_error (&_inner_error_);
#line 671 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									return 0;
#line 6174 "tracker-sparql-expression.c"
																								}
																							}
#line 672 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 672 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							return result;
#line 6181 "tracker-sparql-expression.c"
																						} else {
#line 673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																							if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "timezone-from-dateTime") == 0) {
#line 6185 "tracker-sparql-expression.c"
																								gchar* variable_name = NULL;
																								gchar* _tmp36_;
																								gchar* _tmp37_;
																								gchar* _tmp38_;
																								gchar* _tmp39_;
																								TrackerSparqlVariable* variable = NULL;
																								TrackerSparqlContext* _tmp40_;
																								TrackerSparqlContext* _tmp41_;
																								const gchar* _tmp42_;
																								TrackerSparqlVariable* _tmp43_;
																								TrackerSparqlVariable* _tmp44_;
																								TrackerSparqlVariable* _tmp45_;
																								gchar* _tmp46_;
																								gchar* _tmp47_;
																								TrackerSparqlVariable* _tmp48_;
																								gchar* _tmp49_;
																								gchar* _tmp50_;
																								TrackerSparqlVariable* _tmp51_;
																								const gchar* _tmp52_;
																								const gchar* _tmp53_;
#line 674 "/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 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										g_propagate_error (error, _inner_error_);
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										return 0;
#line 6216 "tracker-sparql-expression.c"
																									} else {
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										g_clear_error (&_inner_error_);
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										return 0;
#line 6224 "tracker-sparql-expression.c"
																									}
																								}
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp36_ = tracker_sparql_expression_get_last_string (self, 0);
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp37_ = _tmp36_;
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp38_ = string_substring (_tmp37_, (glong) 1, (glong) -1);
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp39_ = _tmp38_;
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_g_free0 (_tmp37_);
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								variable_name = _tmp39_;
#line 676 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp40_ = tracker_sparql_expression_get_context (self);
#line 676 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp41_ = _tmp40_;
#line 676 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp42_ = variable_name;
#line 676 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp43_ = tracker_sparql_context_get_variable (_tmp41_, _tmp42_);
#line 676 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp44_ = _g_object_ref0 (_tmp43_);
#line 676 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								variable = _tmp44_;
#line 678 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_string_append (sql, "(");
#line 679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp45_ = variable;
#line 679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp46_ = tracker_sparql_variable_get_extra_sql_expression (_tmp45_, "localDate");
#line 679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp47_ = _tmp46_;
#line 679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_string_append (sql, _tmp47_);
#line 679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_g_free0 (_tmp47_);
#line 680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_string_append (sql, " * 24 * 3600 + ");
#line 681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp48_ = variable;
#line 681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp49_ = tracker_sparql_variable_get_extra_sql_expression (_tmp48_, "localTime");
#line 681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp50_ = _tmp49_;
#line 681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_string_append (sql, _tmp50_);
#line 681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_g_free0 (_tmp50_);
#line 682 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_string_append (sql, "- ");
#line 683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_string_append (sql, "CAST (");
#line 684 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp51_ = variable;
#line 684 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp52_ = tracker_sparql_variable_get_sql_expression (_tmp51_);
#line 684 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_tmp53_ = _tmp52_;
#line 684 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_string_append (sql, _tmp53_);
#line 685 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_string_append (sql, " AS INTEGER)");
#line 686 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								g_string_append (sql, ")");
#line 688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_g_object_unref0 (variable);
#line 688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								_g_free0 (variable_name);
#line 688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								return result;
#line 6299 "tracker-sparql-expression.c"
																							} else {
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																								if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FN_NS "replace") == 0) {
#line 6303 "tracker-sparql-expression.c"
																									gboolean _tmp54_ = FALSE;
#line 690 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_string_append (sql, "SparqlReplace(");
#line 691 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 691 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 691 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 691 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_propagate_error (error, _inner_error_);
#line 691 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											return 0;
#line 6317 "tracker-sparql-expression.c"
																										} else {
#line 691 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 691 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_clear_error (&_inner_error_);
#line 691 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											return 0;
#line 6325 "tracker-sparql-expression.c"
																										}
																									}
#line 692 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_string_append (sql, ", ");
#line 694 "/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 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 6340 "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 6348 "tracker-sparql-expression.c"
																										}
																									}
#line 695 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 695 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 695 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 695 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_propagate_error (error, _inner_error_);
#line 695 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											return 0;
#line 6361 "tracker-sparql-expression.c"
																										} else {
#line 695 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 695 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_clear_error (&_inner_error_);
#line 695 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											return 0;
#line 6369 "tracker-sparql-expression.c"
																										}
																									}
#line 696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_string_append (sql, ", ");
#line 698 "/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 698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_propagate_error (error, _inner_error_);
#line 698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											return 0;
#line 6384 "tracker-sparql-expression.c"
																										} else {
#line 698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_clear_error (&_inner_error_);
#line 698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											return 0;
#line 6392 "tracker-sparql-expression.c"
																										}
																									}
#line 699 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 699 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 699 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 699 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_propagate_error (error, _inner_error_);
#line 699 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											return 0;
#line 6405 "tracker-sparql-expression.c"
																										} else {
#line 699 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 699 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_clear_error (&_inner_error_);
#line 699 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											return 0;
#line 6413 "tracker-sparql-expression.c"
																										}
																									}
#line 701 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									_tmp54_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 701 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 701 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 701 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_propagate_error (error, _inner_error_);
#line 701 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											return 0;
#line 6426 "tracker-sparql-expression.c"
																										} else {
#line 701 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 701 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_clear_error (&_inner_error_);
#line 701 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											return 0;
#line 6434 "tracker-sparql-expression.c"
																										}
																									}
#line 701 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									if (_tmp54_) {
#line 6439 "tracker-sparql-expression.c"
																										gchar* _tmp55_ = NULL;
																										gchar* _tmp56_;
																										gchar* _tmp57_;
																										gchar* _tmp58_;
#line 702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										g_string_append (sql, ", ");
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp56_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp55_ = _tmp56_;
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_propagate_error (error, _inner_error_);
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												return 0;
#line 6458 "tracker-sparql-expression.c"
																											} else {
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_clear_error (&_inner_error_);
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												return 0;
#line 6466 "tracker-sparql-expression.c"
																											}
																										}
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp57_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp55_);
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp58_ = _tmp57_;
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										g_string_append (sql, _tmp58_);
#line 703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_g_free0 (_tmp58_);
#line 701 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_g_free0 (_tmp55_);
#line 6479 "tracker-sparql-expression.c"
																									}
#line 705 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									g_string_append (sql, ")");
#line 706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									result = TRACKER_PROPERTY_TYPE_STRING;
#line 706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									return result;
#line 6487 "tracker-sparql-expression.c"
																								} else {
#line 707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																									if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FTS_NS "rank") == 0) {
#line 6491 "tracker-sparql-expression.c"
																										gboolean is_var = FALSE;
																										gchar* v = NULL;
																										TrackerSparqlPattern* _tmp59_;
																										TrackerSparqlPattern* _tmp60_;
																										gboolean _tmp61_ = FALSE;
																										gchar* _tmp62_;
																										const gchar* _tmp63_;
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp59_ = tracker_sparql_expression_get_pattern (self);
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp60_ = _tmp59_;
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp62_ = tracker_sparql_pattern_parse_var_or_term (_tmp60_, NULL, &_tmp61_, &_inner_error_);
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										is_var = _tmp61_;
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										v = _tmp62_;
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_propagate_error (error, _inner_error_);
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												return 0;
#line 6517 "tracker-sparql-expression.c"
																											} else {
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_clear_error (&_inner_error_);
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												return 0;
#line 6525 "tracker-sparql-expression.c"
																											}
																										}
#line 710 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_tmp63_ = v;
#line 710 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										g_string_append_printf (sql, "\"%s_u_rank\"", _tmp63_);
#line 712 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										result = TRACKER_PROPERTY_TYPE_DOUBLE;
#line 712 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										_g_free0 (v);
#line 712 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										return result;
#line 6538 "tracker-sparql-expression.c"
																									} else {
#line 713 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																										if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FTS_NS "offsets") == 0) {
#line 6542 "tracker-sparql-expression.c"
																											gboolean is_var = FALSE;
																											gchar* v = NULL;
																											TrackerSparqlPattern* _tmp64_;
																											TrackerSparqlPattern* _tmp65_;
																											gboolean _tmp66_ = FALSE;
																											gchar* _tmp67_;
																											TrackerSparqlVariable* variable = NULL;
																											TrackerSparqlContext* _tmp68_;
																											TrackerSparqlContext* _tmp69_;
																											const gchar* _tmp70_;
																											TrackerSparqlVariable* _tmp71_;
																											TrackerSparqlVariable* _tmp72_;
																											TrackerSparqlVariable* _tmp73_;
																											const gchar* _tmp74_;
																											const gchar* _tmp75_;
																											gchar* _tmp76_;
#line 715 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp64_ = tracker_sparql_expression_get_pattern (self);
#line 715 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp65_ = _tmp64_;
#line 715 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp67_ = tracker_sparql_pattern_parse_var_or_term (_tmp65_, NULL, &_tmp66_, &_inner_error_);
#line 715 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											is_var = _tmp66_;
#line 715 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											v = _tmp67_;
#line 715 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 715 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 715 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_propagate_error (error, _inner_error_);
#line 715 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 6577 "tracker-sparql-expression.c"
																												} else {
#line 715 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 715 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_clear_error (&_inner_error_);
#line 715 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return 0;
#line 6585 "tracker-sparql-expression.c"
																												}
																											}
#line 716 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp68_ = tracker_sparql_expression_get_context (self);
#line 716 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp69_ = _tmp68_;
#line 716 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp70_ = v;
#line 716 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp71_ = tracker_sparql_context_get_variable (_tmp69_, _tmp70_);
#line 716 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp72_ = _g_object_ref0 (_tmp71_);
#line 716 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											variable = _tmp72_;
#line 718 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp73_ = variable;
#line 718 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp74_ = tracker_sparql_variable_get_sql_expression (_tmp73_);
#line 718 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp75_ = _tmp74_;
#line 718 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											g_string_append (sql, _tmp75_);
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_tmp76_ = g_strdup ("tracker_offsets(\"fts5\")");
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_g_free0 (self->priv->fts_sql);
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											self->priv->fts_sql = _tmp76_;
#line 720 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											result = TRACKER_PROPERTY_TYPE_STRING;
#line 720 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_g_object_unref0 (variable);
#line 720 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											_g_free0 (v);
#line 720 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											return result;
#line 6622 "tracker-sparql-expression.c"
																										} else {
#line 721 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																											if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_FTS_NS "snippet") == 0) {
#line 6626 "tracker-sparql-expression.c"
																												gboolean is_var = FALSE;
																												gchar* v = NULL;
																												TrackerSparqlPattern* _tmp77_;
																												TrackerSparqlPattern* _tmp78_;
																												gboolean _tmp79_ = FALSE;
																												gchar* _tmp80_;
																												TrackerSparqlVariable* variable = NULL;
																												TrackerSparqlContext* _tmp81_;
																												TrackerSparqlContext* _tmp82_;
																												const gchar* _tmp83_;
																												TrackerSparqlVariable* _tmp84_;
																												TrackerSparqlVariable* _tmp85_;
																												GString* fts = NULL;
																												GString* _tmp86_;
																												GString* _tmp87_;
																												GString* _tmp88_;
																												gboolean _tmp89_ = FALSE;
																												gboolean _tmp95_ = FALSE;
																												gboolean _tmp99_ = FALSE;
																												GString* _tmp103_;
																												GString* _tmp104_;
																												const gchar* _tmp105_;
																												gchar* _tmp106_;
																												TrackerSparqlVariable* _tmp107_;
																												const gchar* _tmp108_;
																												const gchar* _tmp109_;
#line 724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp77_ = tracker_sparql_expression_get_pattern (self);
#line 724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp78_ = _tmp77_;
#line 724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp80_ = tracker_sparql_pattern_parse_var_or_term (_tmp78_, NULL, &_tmp79_, &_inner_error_);
#line 724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												is_var = _tmp79_;
#line 724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												v = _tmp80_;
#line 724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_propagate_error (error, _inner_error_);
#line 724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														return 0;
#line 6671 "tracker-sparql-expression.c"
																													} else {
#line 724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_clear_error (&_inner_error_);
#line 724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														return 0;
#line 6679 "tracker-sparql-expression.c"
																													}
																												}
#line 725 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp81_ = tracker_sparql_expression_get_context (self);
#line 725 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp82_ = _tmp81_;
#line 725 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp83_ = v;
#line 725 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp84_ = tracker_sparql_context_get_variable (_tmp82_, _tmp83_);
#line 725 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp85_ = _g_object_ref0 (_tmp84_);
#line 725 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												variable = _tmp85_;
#line 726 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp86_ = g_string_new ("");
#line 726 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												fts = _tmp86_;
#line 728 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp87_ = fts;
#line 728 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_string_append_printf (_tmp87_, "snippet(\"fts5\"");
#line 731 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp88_ = fts;
#line 731 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_string_append (_tmp88_, ", -1");
#line 734 "/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 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 6722 "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 6736 "tracker-sparql-expression.c"
																													}
																												}
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (_tmp89_) {
#line 6741 "tracker-sparql-expression.c"
																													GString* _tmp90_;
																													GString* _tmp91_;
																													GString* _tmp92_;
																													GString* _tmp93_;
#line 735 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp90_ = fts;
#line 735 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_string_append (_tmp90_, ", ");
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp91_ = fts;
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													tracker_sparql_expression_translate_expression_as_string (self, _tmp91_, &_inner_error_);
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_propagate_error (error, _inner_error_);
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_string_free0 (fts);
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_object_unref0 (variable);
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_free0 (v);
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 6768 "tracker-sparql-expression.c"
																														} else {
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_string_free0 (fts);
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_object_unref0 (variable);
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_free0 (v);
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_clear_error (&_inner_error_);
#line 736 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 6782 "tracker-sparql-expression.c"
																														}
																													}
#line 739 "/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 739 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 739 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 739 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_propagate_error (error, _inner_error_);
#line 739 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_string_free0 (fts);
#line 739 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_object_unref0 (variable);
#line 739 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_free0 (v);
#line 739 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 6801 "tracker-sparql-expression.c"
																														} else {
#line 739 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_string_free0 (fts);
#line 739 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_object_unref0 (variable);
#line 739 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_free0 (v);
#line 739 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 739 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_clear_error (&_inner_error_);
#line 739 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 6815 "tracker-sparql-expression.c"
																														}
																													}
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp92_ = fts;
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_string_append (_tmp92_, ", ");
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp93_ = fts;
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													tracker_sparql_expression_translate_expression_as_string (self, _tmp93_, &_inner_error_);
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_propagate_error (error, _inner_error_);
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_string_free0 (fts);
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_object_unref0 (variable);
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_free0 (v);
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 6840 "tracker-sparql-expression.c"
																														} else {
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_string_free0 (fts);
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_object_unref0 (variable);
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_free0 (v);
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_clear_error (&_inner_error_);
#line 741 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 6854 "tracker-sparql-expression.c"
																														}
																													}
																												} else {
																													GString* _tmp94_;
#line 743 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp94_ = fts;
#line 743 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_string_append (_tmp94_, ",'',''");
#line 6863 "tracker-sparql-expression.c"
																												}
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp95_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_propagate_error (error, _inner_error_);
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_g_string_free0 (fts);
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_g_object_unref0 (variable);
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_g_free0 (v);
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														return 0;
#line 6881 "tracker-sparql-expression.c"
																													} else {
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_g_string_free0 (fts);
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_g_object_unref0 (variable);
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_g_free0 (v);
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_clear_error (&_inner_error_);
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														return 0;
#line 6895 "tracker-sparql-expression.c"
																													}
																												}
#line 747 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (_tmp95_) {
#line 6900 "tracker-sparql-expression.c"
																													GString* _tmp96_;
																													GString* _tmp97_;
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp96_ = fts;
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_string_append (_tmp96_, ", ");
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp97_ = fts;
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													tracker_sparql_expression_translate_expression_as_string (self, _tmp97_, &_inner_error_);
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_propagate_error (error, _inner_error_);
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_string_free0 (fts);
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_object_unref0 (variable);
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_free0 (v);
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 6925 "tracker-sparql-expression.c"
																														} else {
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_string_free0 (fts);
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_object_unref0 (variable);
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_free0 (v);
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_clear_error (&_inner_error_);
#line 749 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 6939 "tracker-sparql-expression.c"
																														}
																													}
																												} else {
																													GString* _tmp98_;
#line 751 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp98_ = fts;
#line 751 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_string_append (_tmp98_, ", '...'");
#line 6948 "tracker-sparql-expression.c"
																												}
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp99_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_propagate_error (error, _inner_error_);
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_g_string_free0 (fts);
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_g_object_unref0 (variable);
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_g_free0 (v);
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														return 0;
#line 6966 "tracker-sparql-expression.c"
																													} else {
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_g_string_free0 (fts);
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_g_object_unref0 (variable);
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_g_free0 (v);
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														g_clear_error (&_inner_error_);
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														return 0;
#line 6980 "tracker-sparql-expression.c"
																													}
																												}
#line 755 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (_tmp99_) {
#line 6985 "tracker-sparql-expression.c"
																													GString* _tmp100_;
																													GString* _tmp101_;
#line 756 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp100_ = fts;
#line 756 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_string_append (_tmp100_, ", ");
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp101_ = fts;
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													tracker_sparql_expression_translate_expression_as_string (self, _tmp101_, &_inner_error_);
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_propagate_error (error, _inner_error_);
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_string_free0 (fts);
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_object_unref0 (variable);
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_free0 (v);
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7010 "tracker-sparql-expression.c"
																														} else {
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_string_free0 (fts);
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_object_unref0 (variable);
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_g_free0 (v);
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_clear_error (&_inner_error_);
#line 757 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return 0;
#line 7024 "tracker-sparql-expression.c"
																														}
																													}
																												} else {
																													GString* _tmp102_;
#line 759 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp102_ = fts;
#line 759 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													g_string_append (_tmp102_, ", 5");
#line 7033 "tracker-sparql-expression.c"
																												}
#line 762 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp103_ = fts;
#line 762 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_string_append (_tmp103_, ")");
#line 764 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp104_ = fts;
#line 764 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp105_ = _tmp104_->str;
#line 764 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp106_ = g_strdup (_tmp105_);
#line 764 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_free0 (self->priv->fts_sql);
#line 764 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												self->priv->fts_sql = _tmp106_;
#line 765 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp107_ = variable;
#line 765 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp108_ = tracker_sparql_variable_get_sql_expression (_tmp107_);
#line 765 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_tmp109_ = _tmp108_;
#line 765 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												g_string_append (sql, _tmp109_);
#line 766 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												result = TRACKER_PROPERTY_TYPE_STRING;
#line 766 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_string_free0 (fts);
#line 766 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_object_unref0 (variable);
#line 766 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												_g_free0 (v);
#line 766 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												return result;
#line 7067 "tracker-sparql-expression.c"
																											} else {
#line 767 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																												if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "id") == 0) {
#line 7071 "tracker-sparql-expression.c"
																													TrackerPropertyType type = 0;
																													TrackerPropertyType _tmp110_;
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													type = tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#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 7084 "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 7092 "tracker-sparql-expression.c"
																														}
																													}
#line 769 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													_tmp110_ = type;
#line 769 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (_tmp110_ != TRACKER_PROPERTY_TYPE_RESOURCE) {
#line 7099 "tracker-sparql-expression.c"
																														GError* _tmp111_;
#line 770 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_tmp111_ = tracker_sparql_expression_get_error (self, "expected resource");
#line 770 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_inner_error_ = _tmp111_;
#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 7111 "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 7119 "tracker-sparql-expression.c"
																														}
																													}
#line 773 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 773 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													return result;
#line 7126 "tracker-sparql-expression.c"
																												} else {
#line 774 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																													if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "uri") == 0) {
#line 7130 "tracker-sparql-expression.c"
																														TrackerPropertyType type = 0;
																														TrackerPropertyType _tmp112_;
#line 775 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														type = tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 775 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 775 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 775 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_propagate_error (error, _inner_error_);
#line 775 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 7143 "tracker-sparql-expression.c"
																															} else {
#line 775 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 775 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_clear_error (&_inner_error_);
#line 775 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 7151 "tracker-sparql-expression.c"
																															}
																														}
#line 776 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														_tmp112_ = type;
#line 776 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (_tmp112_ != TRACKER_PROPERTY_TYPE_INTEGER) {
#line 7158 "tracker-sparql-expression.c"
																															GError* _tmp113_;
#line 777 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_tmp113_ = tracker_sparql_expression_get_error (self, "expected integer ID");
#line 777 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															_inner_error_ = _tmp113_;
#line 777 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 777 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_propagate_error (error, _inner_error_);
#line 777 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 7170 "tracker-sparql-expression.c"
																															} else {
#line 777 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 777 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_clear_error (&_inner_error_);
#line 777 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return 0;
#line 7178 "tracker-sparql-expression.c"
																															}
																														}
#line 780 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														result = TRACKER_PROPERTY_TYPE_RESOURCE;
#line 780 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														return result;
#line 7185 "tracker-sparql-expression.c"
																													} else {
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																														if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "cartesian-distance") == 0) {
#line 782 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_string_append (sql, "SparqlCartesianDistance(");
#line 783 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 783 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 783 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 783 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_propagate_error (error, _inner_error_);
#line 783 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 7201 "tracker-sparql-expression.c"
																																} else {
#line 783 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 783 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_clear_error (&_inner_error_);
#line 783 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 7209 "tracker-sparql-expression.c"
																																}
																															}
#line 784 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_string_append (sql, ", ");
#line 785 "/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 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 7224 "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 7232 "tracker-sparql-expression.c"
																																}
																															}
#line 786 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 786 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 786 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 786 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_propagate_error (error, _inner_error_);
#line 786 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 7245 "tracker-sparql-expression.c"
																																} else {
#line 786 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 786 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_clear_error (&_inner_error_);
#line 786 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 7253 "tracker-sparql-expression.c"
																																}
																															}
#line 787 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_string_append (sql, ", ");
#line 788 "/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 788 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 788 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 788 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_propagate_error (error, _inner_error_);
#line 788 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 7268 "tracker-sparql-expression.c"
																																} else {
#line 788 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 788 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_clear_error (&_inner_error_);
#line 788 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 7276 "tracker-sparql-expression.c"
																																}
																															}
#line 789 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 789 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 789 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 789 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_propagate_error (error, _inner_error_);
#line 789 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 7289 "tracker-sparql-expression.c"
																																} else {
#line 789 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 789 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_clear_error (&_inner_error_);
#line 789 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 7297 "tracker-sparql-expression.c"
																																}
																															}
#line 790 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_string_append (sql, ", ");
#line 791 "/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 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 7312 "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 7320 "tracker-sparql-expression.c"
																																}
																															}
#line 792 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 792 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 792 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 792 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_propagate_error (error, _inner_error_);
#line 792 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 7333 "tracker-sparql-expression.c"
																																} else {
#line 792 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 792 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_clear_error (&_inner_error_);
#line 792 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return 0;
#line 7341 "tracker-sparql-expression.c"
																																}
																															}
#line 793 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															g_string_append (sql, ")");
#line 795 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															result = TRACKER_PROPERTY_TYPE_DOUBLE;
#line 795 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															return result;
#line 7350 "tracker-sparql-expression.c"
																														} else {
#line 796 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																															if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "haversine-distance") == 0) {
#line 797 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_string_append (sql, "SparqlHaversineDistance(");
#line 798 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 798 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 798 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 798 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_propagate_error (error, _inner_error_);
#line 798 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 7366 "tracker-sparql-expression.c"
																																	} else {
#line 798 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 798 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_clear_error (&_inner_error_);
#line 798 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 7374 "tracker-sparql-expression.c"
																																	}
																																}
#line 799 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_string_append (sql, ", ");
#line 800 "/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 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 7389 "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 7397 "tracker-sparql-expression.c"
																																	}
																																}
#line 801 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 801 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 801 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 801 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_propagate_error (error, _inner_error_);
#line 801 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 7410 "tracker-sparql-expression.c"
																																	} else {
#line 801 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 801 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_clear_error (&_inner_error_);
#line 801 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 7418 "tracker-sparql-expression.c"
																																	}
																																}
#line 802 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_string_append (sql, ", ");
#line 803 "/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 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_propagate_error (error, _inner_error_);
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 7433 "tracker-sparql-expression.c"
																																	} else {
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_clear_error (&_inner_error_);
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 7441 "tracker-sparql-expression.c"
																																	}
																																}
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_propagate_error (error, _inner_error_);
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 7454 "tracker-sparql-expression.c"
																																	} else {
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_clear_error (&_inner_error_);
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 7462 "tracker-sparql-expression.c"
																																	}
																																}
#line 805 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_string_append (sql, ", ");
#line 806 "/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 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 7477 "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 7485 "tracker-sparql-expression.c"
																																	}
																																}
#line 807 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 807 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 807 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 807 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_propagate_error (error, _inner_error_);
#line 807 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 7498 "tracker-sparql-expression.c"
																																	} else {
#line 807 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 807 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_clear_error (&_inner_error_);
#line 807 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return 0;
#line 7506 "tracker-sparql-expression.c"
																																	}
																																}
#line 808 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																g_string_append (sql, ")");
#line 810 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																result = TRACKER_PROPERTY_TYPE_DOUBLE;
#line 810 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																return result;
#line 7515 "tracker-sparql-expression.c"
																															} else {
#line 811 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "coalesce") == 0) {
#line 812 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_string_append (sql, "COALESCE(");
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_propagate_error (error, _inner_error_);
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			return 0;
#line 7531 "tracker-sparql-expression.c"
																																		} else {
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_clear_error (&_inner_error_);
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			return 0;
#line 7539 "tracker-sparql-expression.c"
																																		}
																																	}
#line 814 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_string_append (sql, ", ");
#line 815 "/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 815 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 815 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 815 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_propagate_error (error, _inner_error_);
#line 815 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			return 0;
#line 7554 "tracker-sparql-expression.c"
																																		} else {
#line 815 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 815 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_clear_error (&_inner_error_);
#line 815 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			return 0;
#line 7562 "tracker-sparql-expression.c"
																																		}
																																	}
#line 816 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 816 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 816 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 816 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_propagate_error (error, _inner_error_);
#line 816 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			return 0;
#line 7575 "tracker-sparql-expression.c"
																																		} else {
#line 816 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 816 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_clear_error (&_inner_error_);
#line 816 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			return 0;
#line 7583 "tracker-sparql-expression.c"
																																		}
																																	}
#line 817 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	while (TRUE) {
#line 7588 "tracker-sparql-expression.c"
																																		gboolean _tmp114_ = FALSE;
#line 817 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		_tmp114_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 817 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 817 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 817 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_propagate_error (error, _inner_error_);
#line 817 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 7600 "tracker-sparql-expression.c"
																																			} else {
#line 817 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 817 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_clear_error (&_inner_error_);
#line 817 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 7608 "tracker-sparql-expression.c"
																																			}
																																		}
#line 817 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (!_tmp114_) {
#line 817 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			break;
#line 7615 "tracker-sparql-expression.c"
																																		}
#line 818 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_string_append (sql, ", ");
#line 819 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		tracker_sparql_expression_translate_expression_as_string (self, sql, &_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 7629 "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 7637 "tracker-sparql-expression.c"
																																			}
																																		}
																																	}
#line 821 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	g_string_append (sql, ")");
#line 823 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	result = TRACKER_PROPERTY_TYPE_STRING;
#line 823 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	return result;
#line 7647 "tracker-sparql-expression.c"
																																} else {
#line 824 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																	if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "uri-is-parent") == 0) {
#line 825 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_string_append (sql, "SparqlUriIsParent(");
#line 826 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 826 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 826 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 826 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_propagate_error (error, _inner_error_);
#line 826 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 7663 "tracker-sparql-expression.c"
																																			} else {
#line 826 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 826 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_clear_error (&_inner_error_);
#line 826 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 7671 "tracker-sparql-expression.c"
																																			}
																																		}
#line 827 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_string_append (sql, ", ");
#line 828 "/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 828 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 828 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 828 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_propagate_error (error, _inner_error_);
#line 828 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 7686 "tracker-sparql-expression.c"
																																			} else {
#line 828 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 828 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_clear_error (&_inner_error_);
#line 828 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 7694 "tracker-sparql-expression.c"
																																			}
																																		}
#line 830 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 830 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 830 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 830 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_propagate_error (error, _inner_error_);
#line 830 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 7707 "tracker-sparql-expression.c"
																																			} else {
#line 830 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 830 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_clear_error (&_inner_error_);
#line 830 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return 0;
#line 7715 "tracker-sparql-expression.c"
																																			}
																																		}
#line 831 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		g_string_append (sql, ")");
#line 833 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 833 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		return result;
#line 7724 "tracker-sparql-expression.c"
																																	} else {
#line 834 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																		if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "uri-is-descendant") == 0) {
#line 835 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_string_append (sql, "SparqlUriIsDescendant(");
#line 836 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			tracker_sparql_expression_translate_expression_as_string (self, sql, &_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 7740 "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 7748 "tracker-sparql-expression.c"
																																				}
																																			}
#line 837 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_string_append (sql, ", ");
#line 838 "/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 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_propagate_error (error, _inner_error_);
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					return 0;
#line 7763 "tracker-sparql-expression.c"
																																				} else {
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_clear_error (&_inner_error_);
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					return 0;
#line 7771 "tracker-sparql-expression.c"
																																				}
																																			}
#line 840 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 840 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 840 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 840 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_propagate_error (error, _inner_error_);
#line 840 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					return 0;
#line 7784 "tracker-sparql-expression.c"
																																				} else {
#line 840 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 840 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_clear_error (&_inner_error_);
#line 840 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					return 0;
#line 7792 "tracker-sparql-expression.c"
																																				}
																																			}
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			while (TRUE) {
#line 7797 "tracker-sparql-expression.c"
																																				gboolean _tmp115_ = FALSE;
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp115_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_propagate_error (error, _inner_error_);
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						return 0;
#line 7809 "tracker-sparql-expression.c"
																																					} else {
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_clear_error (&_inner_error_);
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						return 0;
#line 7817 "tracker-sparql-expression.c"
																																					}
																																				}
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				if (!_tmp115_) {
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					break;
#line 7824 "tracker-sparql-expression.c"
																																				}
#line 842 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_string_append (sql, ", ");
#line 843 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				tracker_sparql_expression_translate_expression_as_string (self, sql, &_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 7838 "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 7846 "tracker-sparql-expression.c"
																																					}
																																				}
																																			}
#line 845 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			g_string_append (sql, ")");
#line 847 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 847 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			return result;
#line 7856 "tracker-sparql-expression.c"
																																		} else {
#line 848 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																			if (g_strcmp0 (uri, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "string-from-filename") == 0) {
#line 849 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_string_append (sql, "SparqlStringFromFilename(");
#line 850 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 850 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 850 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 850 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_propagate_error (error, _inner_error_);
#line 850 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						return 0;
#line 7872 "tracker-sparql-expression.c"
																																					} else {
#line 850 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 850 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_clear_error (&_inner_error_);
#line 850 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						return 0;
#line 7880 "tracker-sparql-expression.c"
																																					}
																																				}
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				g_string_append (sql, ")");
#line 853 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				result = TRACKER_PROPERTY_TYPE_STRING;
#line 853 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				return result;
#line 7889 "tracker-sparql-expression.c"
																																			} else {
																																				TrackerOntologies* ontologies = NULL;
																																				TrackerDataManager* _tmp116_;
																																				TrackerOntologies* _tmp117_;
																																				TrackerOntologies* _tmp118_;
																																				TrackerProperty* prop = NULL;
																																				TrackerOntologies* _tmp119_;
																																				TrackerProperty* _tmp120_;
																																				TrackerProperty* _tmp121_;
																																				TrackerProperty* _tmp122_;
																																				GString* expr = NULL;
																																				GString* _tmp124_;
																																				GString* _tmp125_;
																																				gchar* value_separator = NULL;
																																				gchar* _tmp126_;
																																				gchar* graph_separator = NULL;
																																				gboolean _tmp127_ = FALSE;
																																				TrackerProperty* _tmp135_;
																																				gboolean _tmp136_;
																																				gboolean _tmp137_;
#line 856 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp116_ = self->priv->manager;
#line 856 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp117_ = tracker_data_manager_get_ontologies (_tmp116_);
#line 856 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp118_ = _g_object_ref0 (_tmp117_);
#line 856 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				ontologies = _tmp118_;
#line 857 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp119_ = ontologies;
#line 857 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp120_ = tracker_ontologies_get_property_by_uri (_tmp119_, uri);
#line 857 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp121_ = _g_object_ref0 (_tmp120_);
#line 857 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				prop = _tmp121_;
#line 858 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp122_ = prop;
#line 858 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				if (_tmp122_ == NULL) {
#line 7930 "tracker-sparql-expression.c"
																																					GError* _tmp123_;
#line 859 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp123_ = tracker_sparql_expression_get_error (self, "Unknown function");
#line 859 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_inner_error_ = _tmp123_;
#line 859 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 859 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_propagate_error (error, _inner_error_);
#line 859 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_object_unref0 (prop);
#line 859 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_object_unref0 (ontologies);
#line 859 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						return 0;
#line 7946 "tracker-sparql-expression.c"
																																					} else {
#line 859 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_object_unref0 (prop);
#line 859 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_object_unref0 (ontologies);
#line 859 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 859 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_clear_error (&_inner_error_);
#line 859 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						return 0;
#line 7958 "tracker-sparql-expression.c"
																																					}
																																				}
#line 862 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp124_ = g_string_new ("");
#line 862 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				expr = _tmp124_;
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp125_ = expr;
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				tracker_sparql_expression_translate_expression (self, _tmp125_, &_inner_error_);
#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_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_object_unref0 (ontologies);
#line 863 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						return 0;
#line 7983 "tracker-sparql-expression.c"
																																					} else {
#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_object_unref0 (ontologies);
#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 7997 "tracker-sparql-expression.c"
																																					}
																																				}
#line 865 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp126_ = g_strdup (",");
#line 865 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				value_separator = _tmp126_;
#line 866 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				graph_separator = NULL;
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp127_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_propagate_error (error, _inner_error_);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (graph_separator);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (value_separator);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_string_free0 (expr);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_object_unref0 (prop);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_object_unref0 (ontologies);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						return 0;
#line 8026 "tracker-sparql-expression.c"
																																					} else {
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (graph_separator);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (value_separator);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_string_free0 (expr);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_object_unref0 (prop);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_object_unref0 (ontologies);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_clear_error (&_inner_error_);
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						return 0;
#line 8044 "tracker-sparql-expression.c"
																																					}
																																				}
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				if (_tmp127_) {
#line 8049 "tracker-sparql-expression.c"
																																					gchar* _tmp128_ = NULL;
																																					gchar* _tmp129_;
																																					gchar* _tmp130_;
																																					gboolean _tmp131_ = FALSE;
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp129_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp128_ = _tmp129_;
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							g_propagate_error (error, _inner_error_);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_free0 (graph_separator);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_free0 (value_separator);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_string_free0 (expr);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_object_unref0 (prop);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_object_unref0 (ontologies);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							return 0;
#line 8076 "tracker-sparql-expression.c"
																																						} else {
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_free0 (graph_separator);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_free0 (value_separator);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_string_free0 (expr);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_object_unref0 (prop);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_object_unref0 (ontologies);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							g_clear_error (&_inner_error_);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							return 0;
#line 8094 "tracker-sparql-expression.c"
																																						}
																																					}
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp130_ = _tmp128_;
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp128_ = NULL;
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (value_separator);
#line 869 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					value_separator = _tmp130_;
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp131_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							g_propagate_error (error, _inner_error_);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_free0 (_tmp128_);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_free0 (graph_separator);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_free0 (value_separator);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_string_free0 (expr);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_object_unref0 (prop);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_object_unref0 (ontologies);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							return 0;
#line 8127 "tracker-sparql-expression.c"
																																						} else {
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_free0 (_tmp128_);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_free0 (graph_separator);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_free0 (value_separator);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_string_free0 (expr);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_object_unref0 (prop);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							_g_object_unref0 (ontologies);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							g_clear_error (&_inner_error_);
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							return 0;
#line 8147 "tracker-sparql-expression.c"
																																						}
																																					}
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					if (_tmp131_) {
#line 8152 "tracker-sparql-expression.c"
																																						gchar* _tmp132_ = NULL;
																																						gchar* _tmp133_;
																																						gchar* _tmp134_;
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp133_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp132_ = _tmp133_;
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								g_propagate_error (error, _inner_error_);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								_g_free0 (_tmp128_);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								_g_free0 (graph_separator);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								_g_free0 (value_separator);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								_g_string_free0 (expr);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								_g_object_unref0 (prop);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								_g_object_unref0 (ontologies);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								return 0;
#line 8180 "tracker-sparql-expression.c"
																																							} else {
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								_g_free0 (_tmp128_);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								_g_free0 (graph_separator);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								_g_free0 (value_separator);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								_g_string_free0 (expr);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								_g_object_unref0 (prop);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								_g_object_unref0 (ontologies);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								g_clear_error (&_inner_error_);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																								return 0;
#line 8200 "tracker-sparql-expression.c"
																																							}
																																						}
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp134_ = _tmp132_;
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp132_ = NULL;
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (graph_separator);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						graph_separator = _tmp134_;
#line 871 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (_tmp132_);
#line 8213 "tracker-sparql-expression.c"
																																					}
#line 868 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (_tmp128_);
#line 8217 "tracker-sparql-expression.c"
																																				}
#line 876 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp135_ = prop;
#line 876 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp136_ = tracker_property_get_multiple_values (_tmp135_);
#line 876 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_tmp137_ = _tmp136_;
#line 876 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				if (_tmp137_) {
#line 8227 "tracker-sparql-expression.c"
																																					glong begin = 0L;
																																					gssize _tmp138_;
																																					TrackerProperty* _tmp139_;
																																					const gchar* _tmp140_;
																																					const gchar* _tmp141_;
																																					TrackerProperty* _tmp142_;
																																					TrackerPropertyType _tmp143_;
																																					TrackerPropertyType _tmp144_;
																																					glong _tmp145_;
																																					const gchar* _tmp146_;
																																					const gchar* _tmp153_;
																																					gchar* _tmp154_;
																																					gchar* _tmp155_;
																																					TrackerProperty* _tmp156_;
																																					const gchar* _tmp157_;
																																					const gchar* _tmp158_;
																																					GString* _tmp159_;
																																					const gchar* _tmp160_;
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_string_append (sql, "(SELECT GROUP_CONCAT(");
#line 879 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp138_ = sql->len;
#line 879 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					begin = (glong) _tmp138_;
#line 880 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp139_ = prop;
#line 880 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp140_ = tracker_property_get_name (_tmp139_);
#line 880 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp141_ = _tmp140_;
#line 880 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_string_append_printf (sql, "\"%s\"", _tmp141_);
#line 881 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp142_ = prop;
#line 881 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp143_ = tracker_property_get_data_type (_tmp142_);
#line 881 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp144_ = _tmp143_;
#line 881 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp145_ = begin;
#line 881 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					tracker_sparql_expression_convert_expression_to_string (sql, _tmp144_, _tmp145_);
#line 882 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp146_ = graph_separator;
#line 882 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					if (_tmp146_ != NULL) {
#line 8274 "tracker-sparql-expression.c"
																																						const gchar* _tmp147_;
																																						gchar* _tmp148_;
																																						gchar* _tmp149_;
																																						TrackerProperty* _tmp150_;
																																						const gchar* _tmp151_;
																																						const gchar* _tmp152_;
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp147_ = graph_separator;
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp148_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp147_);
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp149_ = _tmp148_;
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp150_ = prop;
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp151_ = tracker_property_get_name (_tmp150_);
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp152_ = _tmp151_;
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_string_append_printf (sql, " || %s || COALESCE((SELECT Uri FROM Resource WHERE ID = \"%s:graph\")," \
" '')", _tmp149_, _tmp152_);
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (_tmp149_);
#line 8297 "tracker-sparql-expression.c"
																																					}
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp153_ = value_separator;
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp154_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp153_);
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp155_ = _tmp154_;
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_string_append_printf (sql, ",%s)", _tmp155_);
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (_tmp155_);
#line 886 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp156_ = prop;
#line 886 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp157_ = tracker_property_get_table_name (_tmp156_);
#line 886 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp158_ = _tmp157_;
#line 886 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp159_ = expr;
#line 886 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp160_ = _tmp159_->str;
#line 886 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					g_string_append_printf (sql, " FROM \"%s\" WHERE ID = %s)", _tmp158_, _tmp160_);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					result = TRACKER_PROPERTY_TYPE_STRING;
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (graph_separator);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_free0 (value_separator);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_string_free0 (expr);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_object_unref0 (prop);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_g_object_unref0 (ontologies);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					return result;
#line 8335 "tracker-sparql-expression.c"
																																				} else {
																																					const gchar* _tmp161_;
#line 891 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					_tmp161_ = graph_separator;
#line 891 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																					if (_tmp161_ == NULL) {
#line 8342 "tracker-sparql-expression.c"
																																						TrackerProperty* _tmp162_;
																																						const gchar* _tmp163_;
																																						const gchar* _tmp164_;
																																						TrackerProperty* _tmp165_;
																																						const gchar* _tmp166_;
																																						const gchar* _tmp167_;
																																						GString* _tmp168_;
																																						const gchar* _tmp169_;
																																						TrackerProperty* _tmp170_;
																																						TrackerPropertyType _tmp171_;
																																						TrackerPropertyType _tmp172_;
																																						TrackerProperty* _tmp173_;
																																						TrackerPropertyType _tmp174_;
																																						TrackerPropertyType _tmp175_;
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp162_ = prop;
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp163_ = tracker_property_get_name (_tmp162_);
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp164_ = _tmp163_;
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp165_ = prop;
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp166_ = tracker_property_get_table_name (_tmp165_);
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp167_ = _tmp166_;
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp168_ = expr;
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp169_ = _tmp168_->str;
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_string_append_printf (sql, "(SELECT \"%s\" FROM \"%s\" WHERE ID = %s)", _tmp164_, _tmp167_, _tmp169_);
#line 894 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp170_ = prop;
#line 894 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp171_ = tracker_property_get_data_type (_tmp170_);
#line 894 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp172_ = _tmp171_;
#line 894 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						if (_tmp172_ == TRACKER_PROPERTY_TYPE_STRING) {
#line 895 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																							tracker_sparql_expression_append_collate (self, sql);
#line 8385 "tracker-sparql-expression.c"
																																						}
#line 898 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp173_ = prop;
#line 898 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp174_ = tracker_property_get_data_type (_tmp173_);
#line 898 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp175_ = _tmp174_;
#line 898 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						result = _tmp175_;
#line 898 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (graph_separator);
#line 898 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (value_separator);
#line 898 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_string_free0 (expr);
#line 898 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_object_unref0 (prop);
#line 898 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_object_unref0 (ontologies);
#line 898 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						return result;
#line 8407 "tracker-sparql-expression.c"
																																					} else {
																																						glong begin = 0L;
																																						gssize _tmp176_;
																																						TrackerProperty* _tmp177_;
																																						const gchar* _tmp178_;
																																						const gchar* _tmp179_;
																																						TrackerProperty* _tmp180_;
																																						TrackerPropertyType _tmp181_;
																																						TrackerPropertyType _tmp182_;
																																						glong _tmp183_;
																																						const gchar* _tmp184_;
																																						gchar* _tmp185_;
																																						gchar* _tmp186_;
																																						TrackerProperty* _tmp187_;
																																						const gchar* _tmp188_;
																																						const gchar* _tmp189_;
																																						TrackerProperty* _tmp190_;
																																						const gchar* _tmp191_;
																																						const gchar* _tmp192_;
																																						GString* _tmp193_;
																																						const gchar* _tmp194_;
#line 900 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_string_append (sql, "(SELECT ");
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp176_ = sql->len;
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						begin = (glong) _tmp176_;
#line 902 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp177_ = prop;
#line 902 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp178_ = tracker_property_get_name (_tmp177_);
#line 902 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp179_ = _tmp178_;
#line 902 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_string_append_printf (sql, "\"%s\"", _tmp179_);
#line 903 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp180_ = prop;
#line 903 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp181_ = tracker_property_get_data_type (_tmp180_);
#line 903 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp182_ = _tmp181_;
#line 903 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp183_ = begin;
#line 903 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						tracker_sparql_expression_convert_expression_to_string (sql, _tmp182_, _tmp183_);
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp184_ = graph_separator;
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp185_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp184_);
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp186_ = _tmp185_;
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp187_ = prop;
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp188_ = tracker_property_get_name (_tmp187_);
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp189_ = _tmp188_;
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_string_append_printf (sql, " || %s || COALESCE((SELECT Uri FROM Resource WHERE ID = \"%s:graph\")," \
" '')", _tmp186_, _tmp189_);
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (_tmp186_);
#line 905 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp190_ = prop;
#line 905 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp191_ = tracker_property_get_table_name (_tmp190_);
#line 905 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp192_ = _tmp191_;
#line 905 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp193_ = expr;
#line 905 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_tmp194_ = _tmp193_->str;
#line 905 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						g_string_append_printf (sql, " FROM \"%s\" WHERE ID = %s)", _tmp192_, _tmp194_);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						result = TRACKER_PROPERTY_TYPE_STRING;
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (graph_separator);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_free0 (value_separator);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_string_free0 (expr);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_object_unref0 (prop);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						_g_object_unref0 (ontologies);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																						return result;
#line 8495 "tracker-sparql-expression.c"
																																					}
																																				}
#line 848 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_free0 (graph_separator);
#line 848 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_free0 (value_separator);
#line 848 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_string_free0 (expr);
#line 848 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_object_unref0 (prop);
#line 848 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
																																				_g_object_unref0 (ontologies);
#line 8508 "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;
	const gchar* _tmp23_;
	GError * _inner_error_ = NULL;
#line 913 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_IRI_REF, &_inner_error_);
#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 8571 "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 8581 "tracker-sparql-expression.c"
		}
	}
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 8586 "tracker-sparql-expression.c"
		gchar* _tmp1_;
#line 918 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = tracker_sparql_expression_get_last_string (self, 1);
#line 918 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (type_iri);
#line 918 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		type_iri = _tmp1_;
#line 8594 "tracker-sparql-expression.c"
	} else {
		gboolean _tmp2_ = FALSE;
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX, &_inner_error_);
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (type_iri);
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 8609 "tracker-sparql-expression.c"
			} else {
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (type_iri);
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 8619 "tracker-sparql-expression.c"
			}
		}
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp2_) {
#line 8624 "tracker-sparql-expression.c"
			gchar* ns = NULL;
			gchar* _tmp3_;
			gchar* _tmp4_ = NULL;
			TrackerSparqlQuery* _tmp5_;
			const gchar* _tmp6_;
			gchar* _tmp7_;
			gchar* _tmp8_;
			gchar* _tmp9_;
			gchar* _tmp10_;
			gchar* _tmp11_;
			gchar* _tmp12_;
			gchar* _tmp13_;
#line 920 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp3_ = tracker_sparql_expression_get_last_string (self, 0);
#line 920 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			ns = _tmp3_;
#line 921 "/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 921 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 921 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 921 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 921 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 921 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 921 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 8655 "tracker-sparql-expression.c"
				} else {
#line 921 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 921 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 921 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 921 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 921 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 8667 "tracker-sparql-expression.c"
				}
			}
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = self->priv->query;
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = ns;
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = tracker_sparql_expression_get_last_string (self, 0);
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp8_ = _tmp7_;
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp9_ = string_substring (_tmp8_, (glong) 1, (glong) -1);
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = _tmp9_;
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp11_ = tracker_sparql_query_resolve_prefixed_name (_tmp5_, _tmp6_, _tmp10_, &_inner_error_);
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp12_ = _tmp11_;
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp10_);
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp8_);
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp4_ = _tmp12_;
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 8704 "tracker-sparql-expression.c"
				} else {
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 8716 "tracker-sparql-expression.c"
				}
			}
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp13_ = _tmp4_;
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp4_ = NULL;
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (type_iri);
#line 922 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type_iri = _tmp13_;
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp4_);
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (ns);
#line 8731 "tracker-sparql-expression.c"
		} else {
			gchar* _tmp14_ = NULL;
			TrackerSparqlQuery* _tmp15_;
			gchar* _tmp16_;
			gchar* _tmp17_;
			gchar* _tmp18_;
			gchar* _tmp19_;
			gchar* _tmp20_;
			gchar* _tmp21_;
			gchar* _tmp22_;
#line 924 "/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 924 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 924 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 924 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 924 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 924 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 8754 "tracker-sparql-expression.c"
				} else {
#line 924 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 924 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 924 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 924 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 8764 "tracker-sparql-expression.c"
				}
			}
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp15_ = self->priv->query;
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp16_ = tracker_sparql_expression_get_last_string (self, 0);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp17_ = _tmp16_;
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp18_ = string_substring (_tmp17_, (glong) 1, (glong) -1);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp19_ = _tmp18_;
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp20_ = tracker_sparql_query_resolve_prefixed_name (_tmp15_, "", _tmp19_, &_inner_error_);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp21_ = _tmp20_;
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp19_);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp17_);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp14_ = _tmp21_;
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 8797 "tracker-sparql-expression.c"
				} else {
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (type_iri);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 8807 "tracker-sparql-expression.c"
				}
			}
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp22_ = _tmp14_;
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp14_ = NULL;
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (type_iri);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type_iri = _tmp22_;
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp14_);
#line 8820 "tracker-sparql-expression.c"
		}
	}
#line 928 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp23_ = type_iri;
#line 928 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (g_strcmp0 (_tmp23_, TRACKER_SPARQL_EXPRESSION_XSD_NS "boolean") == 0) {
#line 929 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		type = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 8829 "tracker-sparql-expression.c"
	} else {
		gboolean _tmp24_ = FALSE;
		gboolean _tmp25_ = FALSE;
		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;
		const gchar* _tmp36_;
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp36_ = type_iri;
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (g_strcmp0 (_tmp36_, TRACKER_SPARQL_EXPRESSION_XSD_NS "integer") == 0) {
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp35_ = TRUE;
#line 8850 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp37_;
#line 931 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp37_ = type_iri;
#line 931 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp35_ = g_strcmp0 (_tmp37_, TRACKER_SPARQL_EXPRESSION_XSD_NS "nonPositiveInteger") == 0;
#line 8857 "tracker-sparql-expression.c"
		}
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp35_) {
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp34_ = TRUE;
#line 8863 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp38_;
#line 932 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp38_ = type_iri;
#line 932 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp34_ = g_strcmp0 (_tmp38_, TRACKER_SPARQL_EXPRESSION_XSD_NS "negativeInteger") == 0;
#line 8870 "tracker-sparql-expression.c"
		}
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp34_) {
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp33_ = TRUE;
#line 8876 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp39_;
#line 933 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp39_ = type_iri;
#line 933 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp33_ = g_strcmp0 (_tmp39_, TRACKER_SPARQL_EXPRESSION_XSD_NS "long") == 0;
#line 8883 "tracker-sparql-expression.c"
		}
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp33_) {
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp32_ = TRUE;
#line 8889 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp40_;
#line 934 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp40_ = type_iri;
#line 934 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp32_ = g_strcmp0 (_tmp40_, TRACKER_SPARQL_EXPRESSION_XSD_NS "int") == 0;
#line 8896 "tracker-sparql-expression.c"
		}
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp32_) {
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp31_ = TRUE;
#line 8902 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp41_;
#line 935 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp41_ = type_iri;
#line 935 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp31_ = g_strcmp0 (_tmp41_, TRACKER_SPARQL_EXPRESSION_XSD_NS "short") == 0;
#line 8909 "tracker-sparql-expression.c"
		}
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp31_) {
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp30_ = TRUE;
#line 8915 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp42_;
#line 936 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp42_ = type_iri;
#line 936 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp30_ = g_strcmp0 (_tmp42_, TRACKER_SPARQL_EXPRESSION_XSD_NS "byte") == 0;
#line 8922 "tracker-sparql-expression.c"
		}
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp30_) {
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp29_ = TRUE;
#line 8928 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp43_;
#line 937 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp43_ = type_iri;
#line 937 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp29_ = g_strcmp0 (_tmp43_, TRACKER_SPARQL_EXPRESSION_XSD_NS "nonNegativeInteger") == 0;
#line 8935 "tracker-sparql-expression.c"
		}
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp29_) {
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp28_ = TRUE;
#line 8941 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp44_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp44_ = type_iri;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp28_ = g_strcmp0 (_tmp44_, TRACKER_SPARQL_EXPRESSION_XSD_NS "unsignedLong") == 0;
#line 8948 "tracker-sparql-expression.c"
		}
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp28_) {
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp27_ = TRUE;
#line 8954 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp45_;
#line 939 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp45_ = type_iri;
#line 939 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp27_ = g_strcmp0 (_tmp45_, TRACKER_SPARQL_EXPRESSION_XSD_NS "unsignedInt") == 0;
#line 8961 "tracker-sparql-expression.c"
		}
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp27_) {
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp26_ = TRUE;
#line 8967 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp46_;
#line 940 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp46_ = type_iri;
#line 940 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp26_ = g_strcmp0 (_tmp46_, TRACKER_SPARQL_EXPRESSION_XSD_NS "unsignedShort") == 0;
#line 8974 "tracker-sparql-expression.c"
		}
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp26_) {
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp25_ = TRUE;
#line 8980 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp47_;
#line 941 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp47_ = type_iri;
#line 941 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp25_ = g_strcmp0 (_tmp47_, TRACKER_SPARQL_EXPRESSION_XSD_NS "unsignedByte") == 0;
#line 8987 "tracker-sparql-expression.c"
		}
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp25_) {
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp24_ = TRUE;
#line 8993 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp48_;
#line 942 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp48_ = type_iri;
#line 942 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp24_ = g_strcmp0 (_tmp48_, TRACKER_SPARQL_EXPRESSION_XSD_NS "positiveInteger") == 0;
#line 9000 "tracker-sparql-expression.c"
		}
#line 930 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp24_) {
#line 943 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = TRACKER_PROPERTY_TYPE_INTEGER;
#line 9006 "tracker-sparql-expression.c"
		} else {
			const gchar* _tmp49_;
#line 944 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp49_ = type_iri;
#line 944 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (g_strcmp0 (_tmp49_, TRACKER_SPARQL_EXPRESSION_XSD_NS "double") == 0) {
#line 945 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				type = TRACKER_PROPERTY_TYPE_DOUBLE;
#line 9015 "tracker-sparql-expression.c"
			} else {
				const gchar* _tmp50_;
#line 946 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp50_ = type_iri;
#line 946 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (g_strcmp0 (_tmp50_, TRACKER_SPARQL_EXPRESSION_XSD_NS "date") == 0) {
#line 947 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					type = TRACKER_PROPERTY_TYPE_DATE;
#line 9024 "tracker-sparql-expression.c"
				} else {
					const gchar* _tmp51_;
#line 948 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp51_ = type_iri;
#line 948 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (g_strcmp0 (_tmp51_, TRACKER_SPARQL_EXPRESSION_XSD_NS "dateTime") == 0) {
#line 949 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						type = TRACKER_PROPERTY_TYPE_DATETIME;
#line 9033 "tracker-sparql-expression.c"
					} else {
#line 951 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						type = TRACKER_PROPERTY_TYPE_STRING;
#line 9037 "tracker-sparql-expression.c"
					}
				}
			}
		}
	}
#line 954 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = type;
#line 954 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_free0 (type_iri);
#line 954 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 9049 "tracker-sparql-expression.c"
}


gchar*
tracker_sparql_expression_parse_string_literal (TrackerSparqlExpression* self,
                                                TrackerPropertyType* type,
                                                GError** error)
{
	TrackerPropertyType _vala_type = 0;
	gchar* result = NULL;
	GError * _inner_error_ = NULL;
#line 957 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 958 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_vala_type = TRACKER_PROPERTY_TYPE_STRING;
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	tracker_sparql_expression_next (self, &_inner_error_);
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return NULL;
#line 9075 "tracker-sparql-expression.c"
		} else {
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return NULL;
#line 9083 "tracker-sparql-expression.c"
		}
	}
#line 961 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	switch (tracker_sparql_expression_last (self)) {
#line 961 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL1:
#line 961 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL2:
#line 9092 "tracker-sparql-expression.c"
		{
			GString* sb = NULL;
			GString* _tmp0_;
			gchar* s = NULL;
			gchar* _tmp1_;
			const gchar* p = NULL;
			const gchar* _tmp2_;
			const gchar* end = NULL;
			const gchar* _tmp3_;
			const gchar* _tmp4_;
			gint _tmp5_;
			gint _tmp6_;
			gboolean _tmp45_ = FALSE;
			GString* _tmp47_;
			const gchar* _tmp48_;
			gchar* _tmp49_;
#line 964 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp0_ = g_string_new ("");
#line 964 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			sb = _tmp0_;
#line 966 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp1_ = tracker_sparql_expression_get_last_string (self, 1);
#line 966 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			s = _tmp1_;
#line 967 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = s;
#line 967 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			p = _tmp2_;
#line 968 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp3_ = p;
#line 968 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp4_ = s;
#line 968 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = strlen (_tmp4_);
#line 968 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = _tmp5_;
#line 968 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			end = _tmp3_ + _tmp6_;
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			while (TRUE) {
#line 9133 "tracker-sparql-expression.c"
				const gchar* _tmp7_;
				const gchar* _tmp8_;
				const gchar* q = NULL;
				const gchar* _tmp9_;
				const gchar* _tmp10_;
				const gchar* _tmp11_;
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp7_ = p;
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp8_ = end;
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (!(((glong) _tmp7_) < ((glong) _tmp8_))) {
#line 969 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					break;
#line 9148 "tracker-sparql-expression.c"
				}
#line 970 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp9_ = p;
#line 970 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp10_ = strchr (_tmp9_, (gint) '\\');
#line 970 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				q = _tmp10_;
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp11_ = q;
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_tmp11_ == NULL) {
#line 9160 "tracker-sparql-expression.c"
					GString* _tmp12_;
					const gchar* _tmp13_;
					const gchar* _tmp14_;
					const gchar* _tmp15_;
					const gchar* _tmp16_;
#line 972 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp12_ = sb;
#line 972 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp13_ = p;
#line 972 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp14_ = end;
#line 972 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp15_ = p;
#line 972 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_string_append_len (_tmp12_, _tmp13_, (gssize) ((glong) (_tmp14_ - _tmp15_)));
#line 973 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp16_ = end;
#line 973 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					p = _tmp16_;
#line 9180 "tracker-sparql-expression.c"
				} else {
					GString* _tmp17_;
					const gchar* _tmp18_;
					const gchar* _tmp19_;
					const gchar* _tmp20_;
					const gchar* _tmp21_;
					const gchar* _tmp22_;
					gchar _tmp23_;
					const gchar* _tmp44_;
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp17_ = sb;
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp18_ = p;
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp19_ = q;
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp20_ = p;
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_string_append_len (_tmp17_, _tmp18_, (gssize) ((glong) (_tmp19_ - _tmp20_)));
#line 976 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp21_ = q;
#line 976 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					p = _tmp21_ + 1;
#line 977 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp22_ = p;
#line 977 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp23_ = ((gchar*) _tmp22_)[0];
#line 977 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					switch (_tmp23_) {
#line 977 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case '\'':
#line 977 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case '"':
#line 977 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case '\\':
#line 9216 "tracker-sparql-expression.c"
						{
							GString* _tmp24_;
							const gchar* _tmp25_;
							gchar _tmp26_;
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp24_ = sb;
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp25_ = p;
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp26_ = ((gchar*) _tmp25_)[0];
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_c (_tmp24_, _tmp26_);
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							break;
#line 9231 "tracker-sparql-expression.c"
						}
#line 977 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case 'b':
#line 9235 "tracker-sparql-expression.c"
						{
							GString* _tmp27_;
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp27_ = sb;
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_c (_tmp27_, '\b');
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							break;
#line 9244 "tracker-sparql-expression.c"
						}
#line 977 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case 'f':
#line 9248 "tracker-sparql-expression.c"
						{
							GString* _tmp28_;
#line 987 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp28_ = sb;
#line 987 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_c (_tmp28_, '\f');
#line 988 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							break;
#line 9257 "tracker-sparql-expression.c"
						}
#line 977 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case 'n':
#line 9261 "tracker-sparql-expression.c"
						{
							GString* _tmp29_;
#line 990 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp29_ = sb;
#line 990 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_c (_tmp29_, '\n');
#line 991 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							break;
#line 9270 "tracker-sparql-expression.c"
						}
#line 977 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case 'r':
#line 9274 "tracker-sparql-expression.c"
						{
							GString* _tmp30_;
#line 993 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp30_ = sb;
#line 993 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_c (_tmp30_, '\r');
#line 994 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							break;
#line 9283 "tracker-sparql-expression.c"
						}
#line 977 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case 't':
#line 9287 "tracker-sparql-expression.c"
						{
							GString* _tmp31_;
#line 996 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp31_ = sb;
#line 996 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_c (_tmp31_, '\t');
#line 997 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							break;
#line 9296 "tracker-sparql-expression.c"
						}
#line 977 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						case 'u':
#line 9300 "tracker-sparql-expression.c"
						{
							gchar* ptr = NULL;
							const gchar* _tmp32_;
							gunichar c = 0U;
							gchar* _tmp33_;
							gchar _tmp34_;
							gchar* _tmp35_;
							gchar _tmp36_;
							gchar* _tmp37_;
							gchar _tmp38_;
							gchar* _tmp39_;
							gchar _tmp40_;
							GString* _tmp41_;
							gunichar _tmp42_;
							const gchar* _tmp43_;
#line 999 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp32_ = p;
#line 999 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							ptr = ((gchar*) _tmp32_) + 1;
#line 1000 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp33_ = ptr;
#line 1000 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp34_ = _tmp33_[0];
#line 1000 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp35_ = ptr;
#line 1000 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp36_ = _tmp35_[1];
#line 1000 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp37_ = ptr;
#line 1000 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp38_ = _tmp37_[2];
#line 1000 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp39_ = ptr;
#line 1000 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp40_ = _tmp39_[3];
#line 1000 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							c = (((((((gunichar) g_ascii_xdigit_value (_tmp34_)) * 16) + g_ascii_xdigit_value (_tmp36_)) * 16) + g_ascii_xdigit_value (_tmp38_)) * 16) + g_ascii_xdigit_value (_tmp40_);
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp41_ = sb;
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp42_ = c;
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							g_string_append_unichar (_tmp41_, _tmp42_);
#line 1002 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp43_ = p;
#line 1002 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							p = _tmp43_ + 4;
#line 1003 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							break;
#line 9350 "tracker-sparql-expression.c"
						}
						default:
#line 977 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						break;
#line 9355 "tracker-sparql-expression.c"
					}
#line 1005 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp44_ = p;
#line 1005 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					p = _tmp44_ + 1;
#line 9361 "tracker-sparql-expression.c"
				}
			}
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp45_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DOUBLE_CIRCUMFLEX, &_inner_error_);
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (s);
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_string_free0 (sb);
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return NULL;
#line 9378 "tracker-sparql-expression.c"
				} else {
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (s);
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_string_free0 (sb);
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return NULL;
#line 9390 "tracker-sparql-expression.c"
				}
			}
#line 1009 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp45_) {
#line 9395 "tracker-sparql-expression.c"
				TrackerPropertyType _tmp46_ = 0;
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp46_ = tracker_sparql_expression_parse_type_uri (self, &_inner_error_);
#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 (s);
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_string_free0 (sb);
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return NULL;
#line 9411 "tracker-sparql-expression.c"
					} else {
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (s);
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_string_free0 (sb);
#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 9423 "tracker-sparql-expression.c"
					}
				}
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_vala_type = _tmp46_;
#line 9428 "tracker-sparql-expression.c"
			}
#line 1014 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp47_ = sb;
#line 1014 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp48_ = _tmp47_->str;
#line 1014 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp49_ = g_strdup (_tmp48_);
#line 1014 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp49_;
#line 1014 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (s);
#line 1014 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_string_free0 (sb);
#line 1014 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (type) {
#line 1014 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				*type = _vala_type;
#line 9446 "tracker-sparql-expression.c"
			}
#line 1014 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 9450 "tracker-sparql-expression.c"
		}
#line 961 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG1:
#line 961 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG2:
#line 9456 "tracker-sparql-expression.c"
		{
			gchar* _result_ = NULL;
			gchar* _tmp50_;
			gboolean _tmp51_ = FALSE;
#line 1017 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp50_ = tracker_sparql_expression_get_last_string (self, 3);
#line 1017 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = _tmp50_;
#line 1019 "/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 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (_result_);
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return NULL;
#line 9477 "tracker-sparql-expression.c"
				} else {
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (_result_);
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return NULL;
#line 9487 "tracker-sparql-expression.c"
				}
			}
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp51_) {
#line 9492 "tracker-sparql-expression.c"
				TrackerPropertyType _tmp52_ = 0;
#line 1021 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp52_ = tracker_sparql_expression_parse_type_uri (self, &_inner_error_);
#line 1021 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1021 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1021 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1021 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_result_);
#line 1021 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return NULL;
#line 9506 "tracker-sparql-expression.c"
					} else {
#line 1021 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_result_);
#line 1021 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1021 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1021 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return NULL;
#line 9516 "tracker-sparql-expression.c"
					}
				}
#line 1021 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_vala_type = _tmp52_;
#line 9521 "tracker-sparql-expression.c"
			}
#line 1024 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1024 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (type) {
#line 1024 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				*type = _vala_type;
#line 9529 "tracker-sparql-expression.c"
			}
#line 1024 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 9533 "tracker-sparql-expression.c"
		}
		default:
		{
			GError* _tmp53_;
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp53_ = tracker_sparql_expression_get_error (self, "expected string literal");
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp53_;
#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 NULL;
#line 9548 "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 NULL;
#line 9556 "tracker-sparql-expression.c"
			}
		}
	}
#line 957 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (type) {
#line 957 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		*type = _vala_type;
#line 9564 "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;
	GError * _inner_error_ = NULL;
#line 1030 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1030 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1030 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (uri != NULL, 0);
#line 1031 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1031 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1031 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1031 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1031 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 9594 "tracker-sparql-expression.c"
		} else {
#line 1031 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1031 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1031 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 9602 "tracker-sparql-expression.c"
		}
	}
#line 1031 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 9607 "tracker-sparql-expression.c"
		TrackerPropertyType _result_ = 0;
#line 1033 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_result_ = tracker_sparql_expression_translate_function (self, sql, uri, &_inner_error_);
#line 1033 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1033 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1033 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1033 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 9619 "tracker-sparql-expression.c"
			} else {
#line 1033 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1033 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1033 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 9627 "tracker-sparql-expression.c"
			}
		}
#line 1034 "/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 1034 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1034 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1034 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1034 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 9640 "tracker-sparql-expression.c"
			} else {
#line 1034 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1034 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1034 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 9648 "tracker-sparql-expression.c"
			}
		}
#line 1035 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		result = _result_;
#line 1035 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		return result;
#line 9655 "tracker-sparql-expression.c"
	} else {
		TrackerSparqlLiteralBinding* binding = NULL;
		TrackerSparqlLiteralBinding* _tmp1_;
		TrackerSparqlLiteralBinding* _tmp2_;
		gchar* _tmp3_;
		TrackerSparqlQuery* _tmp4_;
		TrackerSparqlLiteralBinding* _tmp5_;
		TrackerSparqlLiteralBinding* _tmp6_;
#line 1038 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, "COALESCE((SELECT ID FROM Resource WHERE Uri = ?), 0)");
#line 1039 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = tracker_sparql_literal_binding_new ();
#line 1039 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		binding = _tmp1_;
#line 1040 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = binding;
#line 1040 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = g_strdup (uri);
#line 1040 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp2_->literal);
#line 1040 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_->literal = _tmp3_;
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = self->priv->query;
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = binding;
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = _g_object_ref0 (_tmp5_);
#line 1041 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_->bindings = g_list_append (_tmp4_->bindings, _tmp6_);
#line 1042 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		result = TRACKER_PROPERTY_TYPE_RESOURCE;
#line 1042 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_object_unref0 (binding);
#line 1042 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		return result;
#line 9692 "tracker-sparql-expression.c"
	}
}


static TrackerPropertyType
tracker_sparql_expression_translate_primary_expression (TrackerSparqlExpression* self,
                                                        GString* sql,
                                                        GError** error)
{
	TrackerPropertyType result = 0;
	TrackerPropertyType type = 0;
	GError * _inner_error_ = NULL;
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	switch (tracker_sparql_expression_current (self)) {
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS:
#line 9713 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp0_ = 0;
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp0_ = tracker_sparql_expression_translate_bracketted_expression (self, sql, &_inner_error_);
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9726 "tracker-sparql-expression.c"
				} else {
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9734 "tracker-sparql-expression.c"
				}
			}
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp0_;
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 9741 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_IRI_REF:
#line 9745 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp1_ = 0;
			gchar* _tmp2_;
			gchar* _tmp3_;
			TrackerPropertyType _tmp4_;
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9761 "tracker-sparql-expression.c"
				} else {
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9769 "tracker-sparql-expression.c"
				}
			}
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = tracker_sparql_expression_get_last_string (self, 1);
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp3_ = _tmp2_;
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp4_ = tracker_sparql_expression_translate_uri_expression (self, sql, _tmp3_, &_inner_error_);
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp3_);
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp1_ = _tmp4_;
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9790 "tracker-sparql-expression.c"
				} else {
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9798 "tracker-sparql-expression.c"
				}
			}
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp1_;
#line 1054 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 9805 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_DECIMAL:
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_DOUBLE:
#line 9811 "tracker-sparql-expression.c"
		{
			TrackerSparqlQuery* _tmp5_;
			gboolean _tmp6_;
			gboolean _tmp7_;
#line 1057 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1057 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1057 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1057 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1057 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9826 "tracker-sparql-expression.c"
				} else {
#line 1057 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1057 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1057 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9834 "tracker-sparql-expression.c"
				}
			}
#line 1059 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = self->priv->query;
#line 1059 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = tracker_sparql_query_get_no_cache (_tmp5_);
#line 1059 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = _tmp6_;
#line 1059 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp7_) {
#line 9845 "tracker-sparql-expression.c"
				gchar* _tmp8_;
				gchar* _tmp9_;
#line 1060 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp8_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1060 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp9_ = _tmp8_;
#line 1060 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, _tmp9_);
#line 1060 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp9_);
#line 9856 "tracker-sparql-expression.c"
			} else {
				TrackerSparqlLiteralBinding* binding = NULL;
				TrackerSparqlLiteralBinding* _tmp10_;
				TrackerSparqlLiteralBinding* _tmp11_;
				gchar* _tmp12_;
				TrackerSparqlQuery* _tmp13_;
				TrackerSparqlLiteralBinding* _tmp14_;
				TrackerSparqlLiteralBinding* _tmp15_;
#line 1062 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, "?");
#line 1064 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp10_ = tracker_sparql_literal_binding_new ();
#line 1064 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				binding = _tmp10_;
#line 1065 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp11_ = binding;
#line 1065 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp12_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1065 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp11_->literal);
#line 1065 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp11_->literal = _tmp12_;
#line 1066 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp13_ = self->priv->query;
#line 1066 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp14_ = binding;
#line 1066 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp15_ = _g_object_ref0 (_tmp14_);
#line 1066 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp13_->bindings = g_list_append (_tmp13_->bindings, _tmp15_);
#line 1059 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (binding);
#line 9889 "tracker-sparql-expression.c"
			}
#line 1069 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_DOUBLE;
#line 1069 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 9895 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_TRUE:
#line 9899 "tracker-sparql-expression.c"
		{
			TrackerSparqlQuery* _tmp16_;
			gboolean _tmp17_;
			gboolean _tmp18_;
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9914 "tracker-sparql-expression.c"
				} else {
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9922 "tracker-sparql-expression.c"
				}
			}
#line 1073 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp16_ = self->priv->query;
#line 1073 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp17_ = tracker_sparql_query_get_no_cache (_tmp16_);
#line 1073 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp18_ = _tmp17_;
#line 1073 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp18_) {
#line 1074 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, "1");
#line 9935 "tracker-sparql-expression.c"
			} else {
				TrackerSparqlLiteralBinding* binding = NULL;
				TrackerSparqlLiteralBinding* _tmp19_;
				TrackerSparqlLiteralBinding* _tmp20_;
				gchar* _tmp21_;
				TrackerSparqlLiteralBinding* _tmp22_;
				TrackerSparqlQuery* _tmp23_;
				TrackerSparqlLiteralBinding* _tmp24_;
				TrackerSparqlLiteralBinding* _tmp25_;
#line 1076 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, "?");
#line 1078 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp19_ = tracker_sparql_literal_binding_new ();
#line 1078 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				binding = _tmp19_;
#line 1079 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp20_ = binding;
#line 1079 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp21_ = g_strdup ("1");
#line 1079 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp20_->literal);
#line 1079 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp20_->literal = _tmp21_;
#line 1080 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp22_ = binding;
#line 1080 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				((TrackerSparqlDataBinding*) _tmp22_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
#line 1081 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp23_ = self->priv->query;
#line 1081 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp24_ = binding;
#line 1081 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp25_ = _g_object_ref0 (_tmp24_);
#line 1081 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp23_->bindings = g_list_append (_tmp23_->bindings, _tmp25_);
#line 1073 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (binding);
#line 9973 "tracker-sparql-expression.c"
			}
#line 1084 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1084 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 9979 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_FALSE:
#line 9983 "tracker-sparql-expression.c"
		{
			TrackerSparqlQuery* _tmp26_;
			gboolean _tmp27_;
			gboolean _tmp28_;
#line 1086 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1086 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1086 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1086 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1086 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 9998 "tracker-sparql-expression.c"
				} else {
#line 1086 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1086 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1086 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10006 "tracker-sparql-expression.c"
				}
			}
#line 1088 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp26_ = self->priv->query;
#line 1088 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp27_ = tracker_sparql_query_get_no_cache (_tmp26_);
#line 1088 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp28_ = _tmp27_;
#line 1088 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp28_) {
#line 1089 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, "0");
#line 10019 "tracker-sparql-expression.c"
			} else {
				TrackerSparqlLiteralBinding* binding = NULL;
				TrackerSparqlLiteralBinding* _tmp29_;
				TrackerSparqlLiteralBinding* _tmp30_;
				gchar* _tmp31_;
				TrackerSparqlLiteralBinding* _tmp32_;
				TrackerSparqlQuery* _tmp33_;
				TrackerSparqlLiteralBinding* _tmp34_;
				TrackerSparqlLiteralBinding* _tmp35_;
#line 1091 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, "?");
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp29_ = tracker_sparql_literal_binding_new ();
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				binding = _tmp29_;
#line 1094 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp30_ = binding;
#line 1094 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp31_ = g_strdup ("0");
#line 1094 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp30_->literal);
#line 1094 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp30_->literal = _tmp31_;
#line 1095 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp32_ = binding;
#line 1095 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				((TrackerSparqlDataBinding*) _tmp32_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp33_ = self->priv->query;
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp34_ = binding;
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp35_ = _g_object_ref0 (_tmp34_);
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp33_->bindings = g_list_append (_tmp33_->bindings, _tmp35_);
#line 1088 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (binding);
#line 10057 "tracker-sparql-expression.c"
			}
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10063 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL1:
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL2:
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG1:
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG2:
#line 10073 "tracker-sparql-expression.c"
		{
			gchar* literal = NULL;
			TrackerPropertyType _tmp36_ = 0;
			gchar* _tmp37_;
			TrackerPropertyType _tmp38_;
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp37_ = tracker_sparql_expression_parse_string_literal (self, &_tmp36_, &_inner_error_);
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp36_;
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			literal = _tmp37_;
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10093 "tracker-sparql-expression.c"
				} else {
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10101 "tracker-sparql-expression.c"
				}
			}
#line 1106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp38_ = type;
#line 1106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			switch (_tmp38_) {
#line 1106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				case TRACKER_PROPERTY_TYPE_INTEGER:
#line 1106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				case TRACKER_PROPERTY_TYPE_BOOLEAN:
#line 1106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				case TRACKER_PROPERTY_TYPE_DOUBLE:
#line 1106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				case TRACKER_PROPERTY_TYPE_DATE:
#line 1106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				case TRACKER_PROPERTY_TYPE_DATETIME:
#line 10118 "tracker-sparql-expression.c"
				{
					TrackerSparqlQuery* _tmp39_;
					gboolean _tmp40_;
					gboolean _tmp41_;
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp39_ = self->priv->query;
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp40_ = tracker_sparql_query_get_no_cache (_tmp39_);
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp41_ = _tmp40_;
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_tmp41_) {
#line 10131 "tracker-sparql-expression.c"
						const gchar* _tmp42_;
						gchar* _tmp43_;
						gchar* _tmp44_;
#line 1113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp42_ = literal;
#line 1113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp43_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp42_);
#line 1113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp44_ = _tmp43_;
#line 1113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_string_append (sql, _tmp44_);
#line 1113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_tmp44_);
#line 10145 "tracker-sparql-expression.c"
					} else {
						TrackerSparqlLiteralBinding* binding = NULL;
						TrackerSparqlLiteralBinding* _tmp45_;
						TrackerSparqlLiteralBinding* _tmp46_;
						const gchar* _tmp47_;
						gchar* _tmp48_;
						TrackerSparqlLiteralBinding* _tmp49_;
						TrackerPropertyType _tmp50_;
						TrackerSparqlQuery* _tmp51_;
						TrackerSparqlLiteralBinding* _tmp52_;
						TrackerSparqlLiteralBinding* _tmp53_;
#line 1115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp45_ = tracker_sparql_literal_binding_new ();
#line 1115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						binding = _tmp45_;
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp46_ = binding;
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp47_ = literal;
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp48_ = g_strdup (_tmp47_);
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_tmp46_->literal);
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp46_->literal = _tmp48_;
#line 1117 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp49_ = binding;
#line 1117 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp50_ = type;
#line 1117 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						((TrackerSparqlDataBinding*) _tmp49_)->data_type = _tmp50_;
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp51_ = self->priv->query;
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp52_ = binding;
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp53_ = _g_object_ref0 (_tmp52_);
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp51_->bindings = g_list_append (_tmp51_->bindings, _tmp53_);
#line 1119 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_string_append (sql, "?");
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (binding);
#line 10189 "tracker-sparql-expression.c"
					}
#line 1121 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					result = type;
#line 1121 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (literal);
#line 1121 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return result;
#line 10197 "tracker-sparql-expression.c"
				}
				default:
				{
					TrackerSparqlQuery* _tmp54_;
					gboolean _tmp55_;
					gboolean _tmp56_;
#line 1123 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp54_ = self->priv->query;
#line 1123 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp55_ = tracker_sparql_query_get_no_cache (_tmp54_);
#line 1123 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp56_ = _tmp55_;
#line 1123 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_tmp56_) {
#line 10212 "tracker-sparql-expression.c"
						const gchar* _tmp57_;
						gchar* _tmp58_;
						gchar* _tmp59_;
#line 1124 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp57_ = literal;
#line 1124 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp58_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp57_);
#line 1124 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp59_ = _tmp58_;
#line 1124 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_string_append (sql, _tmp59_);
#line 1124 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_tmp59_);
#line 10226 "tracker-sparql-expression.c"
					} else {
						TrackerSparqlLiteralBinding* binding = NULL;
						TrackerSparqlLiteralBinding* _tmp60_;
						TrackerSparqlLiteralBinding* _tmp61_;
						const gchar* _tmp62_;
						gchar* _tmp63_;
						TrackerSparqlQuery* _tmp64_;
						TrackerSparqlLiteralBinding* _tmp65_;
						TrackerSparqlLiteralBinding* _tmp66_;
#line 1126 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp60_ = tracker_sparql_literal_binding_new ();
#line 1126 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						binding = _tmp60_;
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp61_ = binding;
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp62_ = literal;
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp63_ = g_strdup (_tmp62_);
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_free0 (_tmp61_->literal);
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp61_->literal = _tmp63_;
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp64_ = self->priv->query;
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp65_ = binding;
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp66_ = _g_object_ref0 (_tmp65_);
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp64_->bindings = g_list_append (_tmp64_->bindings, _tmp66_);
#line 1129 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_string_append (sql, "?");
#line 1123 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_g_object_unref0 (binding);
#line 10262 "tracker-sparql-expression.c"
					}
#line 1131 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					tracker_sparql_expression_append_collate (self, sql);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					result = TRACKER_PROPERTY_TYPE_STRING;
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (literal);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return result;
#line 10272 "tracker-sparql-expression.c"
				}
			}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (literal);
#line 10277 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_INTEGER:
#line 10281 "tracker-sparql-expression.c"
		{
			TrackerSparqlQuery* _tmp67_;
			gboolean _tmp68_;
			gboolean _tmp69_;
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10296 "tracker-sparql-expression.c"
				} else {
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10304 "tracker-sparql-expression.c"
				}
			}
#line 1137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp67_ = self->priv->query;
#line 1137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp68_ = tracker_sparql_query_get_no_cache (_tmp67_);
#line 1137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp69_ = _tmp68_;
#line 1137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp69_) {
#line 10315 "tracker-sparql-expression.c"
				gchar* _tmp70_;
				gchar* _tmp71_;
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp70_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp71_ = _tmp70_;
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, _tmp71_);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp71_);
#line 10326 "tracker-sparql-expression.c"
			} else {
				TrackerSparqlLiteralBinding* binding = NULL;
				TrackerSparqlLiteralBinding* _tmp72_;
				TrackerSparqlLiteralBinding* _tmp73_;
				gchar* _tmp74_;
				TrackerSparqlLiteralBinding* _tmp75_;
				TrackerSparqlQuery* _tmp76_;
				TrackerSparqlLiteralBinding* _tmp77_;
				TrackerSparqlLiteralBinding* _tmp78_;
#line 1140 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, "?");
#line 1142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp72_ = tracker_sparql_literal_binding_new ();
#line 1142 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				binding = _tmp72_;
#line 1143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp73_ = binding;
#line 1143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp74_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (_tmp73_->literal);
#line 1143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp73_->literal = _tmp74_;
#line 1144 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp75_ = binding;
#line 1144 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				((TrackerSparqlDataBinding*) _tmp75_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
#line 1145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp76_ = self->priv->query;
#line 1145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp77_ = binding;
#line 1145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp78_ = _g_object_ref0 (_tmp77_);
#line 1145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp76_->bindings = g_list_append (_tmp76_->bindings, _tmp78_);
#line 1137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (binding);
#line 10364 "tracker-sparql-expression.c"
			}
#line 1148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 1148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10370 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_VAR:
#line 10374 "tracker-sparql-expression.c"
		{
			gchar* variable_name = NULL;
			gchar* _tmp79_;
			gchar* _tmp80_;
			gchar* _tmp81_;
			gchar* _tmp82_;
			TrackerSparqlVariable* variable = NULL;
			TrackerSparqlContext* _tmp83_;
			TrackerSparqlContext* _tmp84_;
			const gchar* _tmp85_;
			TrackerSparqlVariable* _tmp86_;
			TrackerSparqlVariable* _tmp87_;
			gboolean _tmp88_ = FALSE;
			TrackerSparqlContext* _tmp89_;
			TrackerSparqlContext* _tmp90_;
			gboolean _tmp91_;
			TrackerSparqlVariable* _tmp101_;
			TrackerSparqlVariableBinding* _tmp102_;
#line 1150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10403 "tracker-sparql-expression.c"
				} else {
#line 1150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10411 "tracker-sparql-expression.c"
				}
			}
#line 1151 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp79_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1151 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp80_ = _tmp79_;
#line 1151 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp81_ = string_substring (_tmp80_, (glong) 1, (glong) -1);
#line 1151 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp82_ = _tmp81_;
#line 1151 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp80_);
#line 1151 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			variable_name = _tmp82_;
#line 1152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp83_ = tracker_sparql_expression_get_context (self);
#line 1152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp84_ = _tmp83_;
#line 1152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp85_ = variable_name;
#line 1152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp86_ = tracker_sparql_context_get_variable (_tmp84_, _tmp85_);
#line 1152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp87_ = _g_object_ref0 (_tmp86_);
#line 1152 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			variable = _tmp87_;
#line 1154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp89_ = tracker_sparql_expression_get_context (self);
#line 1154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp90_ = _tmp89_;
#line 1154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp91_ = _tmp90_->need_binding_expression;
#line 1154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp91_) {
#line 10446 "tracker-sparql-expression.c"
				TrackerSparqlVariable* _tmp92_;
				TrackerSparqlVariableBinding* _tmp93_;
#line 1154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp92_ = variable;
#line 1154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp93_ = _tmp92_->binding;
#line 1154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp88_ = _tmp93_ != NULL;
#line 10455 "tracker-sparql-expression.c"
			} else {
#line 1154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp88_ = FALSE;
#line 10459 "tracker-sparql-expression.c"
			}
#line 1154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp88_) {
#line 10463 "tracker-sparql-expression.c"
				TrackerSparqlVariable* _tmp94_;
				TrackerSparqlVariableBinding* _tmp95_;
				const gchar* _tmp96_;
				const gchar* _tmp97_;
#line 1155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp94_ = variable;
#line 1155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp95_ = _tmp94_->binding;
#line 1155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp96_ = tracker_sparql_data_binding_get_sql_expression ((TrackerSparqlDataBinding*) _tmp95_);
#line 1155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp97_ = _tmp96_;
#line 1155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, _tmp97_);
#line 10478 "tracker-sparql-expression.c"
			} else {
				TrackerSparqlVariable* _tmp98_;
				const gchar* _tmp99_;
				const gchar* _tmp100_;
#line 1157 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp98_ = variable;
#line 1157 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp99_ = tracker_sparql_variable_get_sql_expression (_tmp98_);
#line 1157 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp100_ = _tmp99_;
#line 1157 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, _tmp100_);
#line 10491 "tracker-sparql-expression.c"
			}
#line 1160 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp101_ = variable;
#line 1160 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp102_ = _tmp101_->binding;
#line 1160 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp102_ == NULL) {
#line 1161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				result = TRACKER_PROPERTY_TYPE_UNKNOWN;
#line 1161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 1161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (variable_name);
#line 1161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return result;
#line 10507 "tracker-sparql-expression.c"
			} else {
				TrackerSparqlVariable* _tmp103_;
				TrackerSparqlVariableBinding* _tmp104_;
				TrackerPropertyType _tmp105_;
				TrackerSparqlVariable* _tmp106_;
				TrackerSparqlVariableBinding* _tmp107_;
				TrackerPropertyType _tmp108_;
#line 1163 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp103_ = variable;
#line 1163 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp104_ = _tmp103_->binding;
#line 1163 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp105_ = ((TrackerSparqlDataBinding*) _tmp104_)->data_type;
#line 1163 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_tmp105_ == TRACKER_PROPERTY_TYPE_STRING) {
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					tracker_sparql_expression_append_collate (self, sql);
#line 10525 "tracker-sparql-expression.c"
				}
#line 1166 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp106_ = variable;
#line 1166 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp107_ = _tmp106_->binding;
#line 1166 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp108_ = ((TrackerSparqlDataBinding*) _tmp107_)->data_type;
#line 1166 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				result = _tmp108_;
#line 1166 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 1166 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_free0 (variable_name);
#line 1166 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return result;
#line 10541 "tracker-sparql-expression.c"
			}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_object_unref0 (variable);
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (variable_name);
#line 10547 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STR:
#line 10551 "tracker-sparql-expression.c"
		{
#line 1169 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_str (self, sql, &_inner_error_);
#line 1169 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1169 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1169 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1169 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10563 "tracker-sparql-expression.c"
				} else {
#line 1169 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1169 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1169 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10571 "tracker-sparql-expression.c"
				}
			}
#line 1170 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_STRING;
#line 1170 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10578 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_LANG:
#line 10582 "tracker-sparql-expression.c"
		{
#line 1172 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_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 10594 "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 10602 "tracker-sparql-expression.c"
				}
			}
#line 1173 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "''");
#line 1174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_STRING;
#line 1174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10611 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_LANGMATCHES:
#line 10615 "tracker-sparql-expression.c"
		{
#line 1176 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1176 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1176 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1176 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1176 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10627 "tracker-sparql-expression.c"
				} else {
#line 1176 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1176 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1176 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10635 "tracker-sparql-expression.c"
				}
			}
#line 1177 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "0");
#line 1178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10644 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_DATATYPE:
#line 10648 "tracker-sparql-expression.c"
		{
#line 1180 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_datatype (self, sql, &_inner_error_);
#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 10660 "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 10668 "tracker-sparql-expression.c"
				}
			}
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_RESOURCE;
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10675 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_BOUND:
#line 10679 "tracker-sparql-expression.c"
		{
#line 1183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_bound_call (self, sql, &_inner_error_);
#line 1183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10691 "tracker-sparql-expression.c"
				} else {
#line 1183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10699 "tracker-sparql-expression.c"
				}
			}
#line 1184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10706 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_COALESCE:
#line 10710 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
#line 1186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 10723 "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 10731 "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_OPEN_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 10744 "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 10752 "tracker-sparql-expression.c"
				}
			}
#line 1188 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = tracker_sparql_expression_translate_function (self, sql, TRACKER_SPARQL_EXPRESSION_TRACKER_NS "coalesce", &_inner_error_);
#line 1188 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1188 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1188 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1188 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10765 "tracker-sparql-expression.c"
				} else {
#line 1188 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1188 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1188 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10773 "tracker-sparql-expression.c"
				}
			}
#line 1189 "/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 1189 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1189 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1189 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1189 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10786 "tracker-sparql-expression.c"
				} else {
#line 1189 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1189 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1189 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10794 "tracker-sparql-expression.c"
				}
			}
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10801 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_CONCAT:
#line 10805 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
#line 1192 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 10818 "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 10826 "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_OPEN_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 10839 "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 10847 "tracker-sparql-expression.c"
				}
			}
#line 1194 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = tracker_sparql_expression_translate_function (self, sql, TRACKER_SPARQL_EXPRESSION_FN_NS "concat", &_inner_error_);
#line 1194 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1194 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1194 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1194 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10860 "tracker-sparql-expression.c"
				} else {
#line 1194 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1194 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1194 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10868 "tracker-sparql-expression.c"
				}
			}
#line 1195 "/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 1195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10881 "tracker-sparql-expression.c"
				} else {
#line 1195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10889 "tracker-sparql-expression.c"
				}
			}
#line 1196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10896 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_CONTAINS:
#line 10900 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
#line 1198 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1198 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1198 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1198 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1198 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10913 "tracker-sparql-expression.c"
				} else {
#line 1198 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1198 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1198 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10921 "tracker-sparql-expression.c"
				}
			}
#line 1199 "/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 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 10934 "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 10942 "tracker-sparql-expression.c"
				}
			}
#line 1200 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = tracker_sparql_expression_translate_function (self, sql, TRACKER_SPARQL_EXPRESSION_FN_NS "contains", &_inner_error_);
#line 1200 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1200 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1200 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1200 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10955 "tracker-sparql-expression.c"
				} else {
#line 1200 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1200 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1200 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 10963 "tracker-sparql-expression.c"
				}
			}
#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 10976 "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 10984 "tracker-sparql-expression.c"
				}
			}
#line 1202 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1202 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 10991 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ENCODE_FOR_URI:
#line 10995 "tracker-sparql-expression.c"
		{
#line 1204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 11007 "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 11015 "tracker-sparql-expression.c"
				}
			}
#line 1205 "/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 1205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11028 "tracker-sparql-expression.c"
				} else {
#line 1205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11036 "tracker-sparql-expression.c"
				}
			}
#line 1206 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "SparqlEncodeForUri (");
#line 1207 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_string (self, sql, &_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 11051 "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 11059 "tracker-sparql-expression.c"
				}
			}
#line 1208 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1209 "/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 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 11074 "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 11082 "tracker-sparql-expression.c"
				}
			}
#line 1210 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_STRING;
#line 1210 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11089 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_IF:
#line 11093 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp109_ = 0;
#line 1212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp109_ = tracker_sparql_expression_translate_if_call (self, sql, &_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 11106 "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 11114 "tracker-sparql-expression.c"
				}
			}
#line 1212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp109_;
#line 1212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11121 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SAMETERM:
#line 11125 "tracker-sparql-expression.c"
		{
#line 1214 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_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 11137 "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 11145 "tracker-sparql-expression.c"
				}
			}
#line 1215 "/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 1215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11158 "tracker-sparql-expression.c"
				} else {
#line 1215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11166 "tracker-sparql-expression.c"
				}
			}
#line 1216 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "(");
#line 1217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 1217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11181 "tracker-sparql-expression.c"
				} else {
#line 1217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11189 "tracker-sparql-expression.c"
				}
			}
#line 1218 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, " = ");
#line 1219 "/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 1219 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1219 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1219 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1219 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11204 "tracker-sparql-expression.c"
				} else {
#line 1219 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1219 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1219 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11212 "tracker-sparql-expression.c"
				}
			}
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11225 "tracker-sparql-expression.c"
				} else {
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11233 "tracker-sparql-expression.c"
				}
			}
#line 1221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1222 "/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 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 11248 "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 11256 "tracker-sparql-expression.c"
				}
			}
#line 1223 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1223 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11263 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISIRI:
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISURI:
#line 11269 "tracker-sparql-expression.c"
		{
#line 1226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_isuri (self, sql, &_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 11281 "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 11289 "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 11296 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISBLANK:
#line 11300 "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 11312 "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 11320 "tracker-sparql-expression.c"
				}
			}
#line 1230 "/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 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11333 "tracker-sparql-expression.c"
				} else {
#line 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11341 "tracker-sparql-expression.c"
				}
			}
#line 1231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11354 "tracker-sparql-expression.c"
				} else {
#line 1231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11362 "tracker-sparql-expression.c"
				}
			}
#line 1233 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "0");
#line 1234 "/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 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 11377 "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 11385 "tracker-sparql-expression.c"
				}
			}
#line 1235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11392 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISLITERAL:
#line 11396 "tracker-sparql-expression.c"
		{
#line 1237 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1237 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1237 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1237 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1237 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11408 "tracker-sparql-expression.c"
				} else {
#line 1237 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1237 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1237 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11416 "tracker-sparql-expression.c"
				}
			}
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11423 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_LCASE:
#line 11427 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 11440 "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 11448 "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_OPEN_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 11461 "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 11469 "tracker-sparql-expression.c"
				}
			}
#line 1242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = tracker_sparql_expression_translate_function (self, sql, TRACKER_SPARQL_EXPRESSION_FN_NS "lower-case", &_inner_error_);
#line 1242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11482 "tracker-sparql-expression.c"
				} else {
#line 1242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11490 "tracker-sparql-expression.c"
				}
			}
#line 1243 "/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 1243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11503 "tracker-sparql-expression.c"
				} else {
#line 1243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11511 "tracker-sparql-expression.c"
				}
			}
#line 1244 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1244 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11518 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_UCASE:
#line 11522 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 11535 "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 11543 "tracker-sparql-expression.c"
				}
			}
#line 1247 "/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 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11556 "tracker-sparql-expression.c"
				} else {
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11564 "tracker-sparql-expression.c"
				}
			}
#line 1248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = tracker_sparql_expression_translate_function (self, sql, TRACKER_SPARQL_EXPRESSION_FN_NS "upper-case", &_inner_error_);
#line 1248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11577 "tracker-sparql-expression.c"
				} else {
#line 1248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11585 "tracker-sparql-expression.c"
				}
			}
#line 1249 "/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 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11598 "tracker-sparql-expression.c"
				} else {
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11606 "tracker-sparql-expression.c"
				}
			}
#line 1250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11613 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRLEN:
#line 11617 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp110_ = 0;
#line 1252 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 11630 "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 11638 "tracker-sparql-expression.c"
				}
			}
#line 1253 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "LENGTH(");
#line 1254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp110_ = tracker_sparql_expression_translate_aggregate_expression (self, sql, &_inner_error_);
#line 1254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11653 "tracker-sparql-expression.c"
				} else {
#line 1254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11661 "tracker-sparql-expression.c"
				}
			}
#line 1254 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp110_;
#line 1255 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1256 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 1256 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11672 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRSTARTS:
#line 11676 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
#line 1258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 11689 "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 11697 "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_OPEN_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 11710 "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 11718 "tracker-sparql-expression.c"
				}
			}
#line 1260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = tracker_sparql_expression_translate_function (self, sql, TRACKER_SPARQL_EXPRESSION_FN_NS "starts-with", &_inner_error_);
#line 1260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11731 "tracker-sparql-expression.c"
				} else {
#line 1260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11739 "tracker-sparql-expression.c"
				}
			}
#line 1261 "/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 1261 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1261 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1261 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1261 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11752 "tracker-sparql-expression.c"
				} else {
#line 1261 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1261 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1261 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11760 "tracker-sparql-expression.c"
				}
			}
#line 1262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11767 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRENDS:
#line 11771 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 11784 "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 11792 "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_OPEN_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 11805 "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 11813 "tracker-sparql-expression.c"
				}
			}
#line 1266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = tracker_sparql_expression_translate_function (self, sql, TRACKER_SPARQL_EXPRESSION_FN_NS "ends-with", &_inner_error_);
#line 1266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11826 "tracker-sparql-expression.c"
				} else {
#line 1266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11834 "tracker-sparql-expression.c"
				}
			}
#line 1267 "/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 1267 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1267 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1267 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1267 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11847 "tracker-sparql-expression.c"
				} else {
#line 1267 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1267 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1267 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11855 "tracker-sparql-expression.c"
				}
			}
#line 1268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11862 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SUBSTR:
#line 11866 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
#line 1270 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1270 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1270 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1270 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1270 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11879 "tracker-sparql-expression.c"
				} else {
#line 1270 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1270 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1270 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11887 "tracker-sparql-expression.c"
				}
			}
#line 1271 "/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 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 11900 "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 11908 "tracker-sparql-expression.c"
				}
			}
#line 1272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = tracker_sparql_expression_translate_function (self, sql, TRACKER_SPARQL_EXPRESSION_FN_NS "substring", &_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 11921 "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 11929 "tracker-sparql-expression.c"
				}
			}
#line 1273 "/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 1273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11942 "tracker-sparql-expression.c"
				} else {
#line 1273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11950 "tracker-sparql-expression.c"
				}
			}
#line 1274 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1274 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 11957 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRBEFORE:
#line 11961 "tracker-sparql-expression.c"
		{
#line 1276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_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 11973 "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 11981 "tracker-sparql-expression.c"
				}
			}
#line 1277 "/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 1277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 11994 "tracker-sparql-expression.c"
				} else {
#line 1277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12002 "tracker-sparql-expression.c"
				}
			}
#line 1278 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "SparqlStringBefore (");
#line 1279 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_string (self, sql, &_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 12017 "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 12025 "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_COMMA, &_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 12038 "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 12046 "tracker-sparql-expression.c"
				}
			}
#line 1281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ",");
#line 1282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_string (self, sql, &_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 12061 "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 12069 "tracker-sparql-expression.c"
				}
			}
#line 1283 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1284 "/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 1284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12084 "tracker-sparql-expression.c"
				} else {
#line 1284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12092 "tracker-sparql-expression.c"
				}
			}
#line 1285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_STRING;
#line 1285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12099 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STRAFTER:
#line 12103 "tracker-sparql-expression.c"
		{
#line 1287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_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 12115 "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 12123 "tracker-sparql-expression.c"
				}
			}
#line 1288 "/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 1288 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1288 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1288 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1288 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12136 "tracker-sparql-expression.c"
				} else {
#line 1288 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1288 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1288 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12144 "tracker-sparql-expression.c"
				}
			}
#line 1289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "SparqlStringAfter (");
#line 1290 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_string (self, sql, &_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 12159 "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 12167 "tracker-sparql-expression.c"
				}
			}
#line 1291 "/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 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12180 "tracker-sparql-expression.c"
				} else {
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12188 "tracker-sparql-expression.c"
				}
			}
#line 1292 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ",");
#line 1293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_string (self, sql, &_inner_error_);
#line 1293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12203 "tracker-sparql-expression.c"
				} else {
#line 1293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12211 "tracker-sparql-expression.c"
				}
			}
#line 1294 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1295 "/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 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 12226 "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 12234 "tracker-sparql-expression.c"
				}
			}
#line 1296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_STRING;
#line 1296 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12241 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_REGEX:
#line 12245 "tracker-sparql-expression.c"
		{
			TrackerSparqlQuery* _tmp111_;
#line 1298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_regex (self, sql, &_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 12258 "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 12266 "tracker-sparql-expression.c"
				}
			}
#line 1299 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp111_ = self->priv->query;
#line 1299 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_query_set_no_cache (_tmp111_, TRUE);
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12277 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_EXISTS:
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_NOT:
#line 12283 "tracker-sparql-expression.c"
		{
#line 1303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_exists (self, sql, &_inner_error_);
#line 1303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12295 "tracker-sparql-expression.c"
				} else {
#line 1303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12303 "tracker-sparql-expression.c"
				}
			}
#line 1304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12310 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_COUNT:
#line 12314 "tracker-sparql-expression.c"
		{
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 12326 "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 12334 "tracker-sparql-expression.c"
				}
			}
#line 1307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "COUNT(");
#line 1308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_aggregate_expression (self, sql, &_inner_error_);
#line 1308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12349 "tracker-sparql-expression.c"
				} else {
#line 1308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12357 "tracker-sparql-expression.c"
				}
			}
#line 1309 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_INTEGER;
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12366 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SUM:
#line 12370 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp112_ = 0;
#line 1312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 12383 "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 12391 "tracker-sparql-expression.c"
				}
			}
#line 1313 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "SUM(");
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp112_ = tracker_sparql_expression_translate_aggregate_expression (self, sql, &_inner_error_);
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12406 "tracker-sparql-expression.c"
				} else {
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12414 "tracker-sparql-expression.c"
				}
			}
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp112_;
#line 1315 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12425 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_AVG:
#line 12429 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp113_ = 0;
#line 1318 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 12442 "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 12450 "tracker-sparql-expression.c"
				}
			}
#line 1319 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "AVG(");
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp113_ = tracker_sparql_expression_translate_aggregate_expression (self, sql, &_inner_error_);
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12465 "tracker-sparql-expression.c"
				} else {
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12473 "tracker-sparql-expression.c"
				}
			}
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp113_;
#line 1321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12484 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_MIN:
#line 12488 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp114_ = 0;
#line 1324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 12501 "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 12509 "tracker-sparql-expression.c"
				}
			}
#line 1325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "MIN(");
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp114_ = tracker_sparql_expression_translate_aggregate_expression (self, sql, &_inner_error_);
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12524 "tracker-sparql-expression.c"
				} else {
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12532 "tracker-sparql-expression.c"
				}
			}
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp114_;
#line 1327 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1328 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12543 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_MAX:
#line 12547 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp115_ = 0;
#line 1330 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 12560 "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 12568 "tracker-sparql-expression.c"
				}
			}
#line 1331 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "MAX(");
#line 1332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp115_ = tracker_sparql_expression_translate_aggregate_expression (self, sql, &_inner_error_);
#line 1332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12583 "tracker-sparql-expression.c"
				} else {
#line 1332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12591 "tracker-sparql-expression.c"
				}
			}
#line 1332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp115_;
#line 1333 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12602 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ABS:
#line 12606 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp116_ = 0;
#line 1336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 12619 "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 12627 "tracker-sparql-expression.c"
				}
			}
#line 1337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "ABS(");
#line 1338 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp116_ = tracker_sparql_expression_translate_aggregate_expression (self, sql, &_inner_error_);
#line 1338 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1338 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1338 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1338 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12642 "tracker-sparql-expression.c"
				} else {
#line 1338 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1338 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1338 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12650 "tracker-sparql-expression.c"
				}
			}
#line 1338 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp116_;
#line 1339 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1340 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1340 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12661 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ROUND:
#line 12665 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp117_ = 0;
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 12678 "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 12686 "tracker-sparql-expression.c"
				}
			}
#line 1343 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "ROUND(");
#line 1344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp117_ = tracker_sparql_expression_translate_aggregate_expression (self, sql, &_inner_error_);
#line 1344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12701 "tracker-sparql-expression.c"
				} else {
#line 1344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12709 "tracker-sparql-expression.c"
				}
			}
#line 1344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp117_;
#line 1345 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12720 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_CEIL:
#line 12724 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp118_ = 0;
#line 1348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 12737 "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 12745 "tracker-sparql-expression.c"
				}
			}
#line 1349 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "SparqlCeil(");
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp118_ = tracker_sparql_expression_translate_aggregate_expression (self, sql, &_inner_error_);
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12760 "tracker-sparql-expression.c"
				} else {
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12768 "tracker-sparql-expression.c"
				}
			}
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp118_;
#line 1351 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1352 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1352 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12779 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_FLOOR:
#line 12783 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp119_ = 0;
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_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 12796 "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 12804 "tracker-sparql-expression.c"
				}
			}
#line 1355 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "SparqlFloor(");
#line 1356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp119_ = tracker_sparql_expression_translate_aggregate_expression (self, sql, &_inner_error_);
#line 1356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12819 "tracker-sparql-expression.c"
				} else {
#line 1356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12827 "tracker-sparql-expression.c"
				}
			}
#line 1356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp119_;
#line 1357 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12838 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_RAND:
#line 12842 "tracker-sparql-expression.c"
		{
#line 1360 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_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 12854 "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 12862 "tracker-sparql-expression.c"
				}
			}
#line 1361 "/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 1361 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1361 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1361 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1361 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12875 "tracker-sparql-expression.c"
				} else {
#line 1361 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1361 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1361 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12883 "tracker-sparql-expression.c"
				}
			}
#line 1362 "/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 1362 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1362 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1362 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1362 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12896 "tracker-sparql-expression.c"
				} else {
#line 1362 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1362 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1362 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12904 "tracker-sparql-expression.c"
				}
			}
#line 1363 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "SparqlRand()");
#line 1364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_DOUBLE;
#line 1364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12913 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_NOW:
#line 12917 "tracker-sparql-expression.c"
		{
#line 1366 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 12929 "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 12937 "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_OPEN_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 12950 "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 12958 "tracker-sparql-expression.c"
				}
			}
#line 1368 "/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 1368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12971 "tracker-sparql-expression.c"
				} else {
#line 1368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 12979 "tracker-sparql-expression.c"
				}
			}
#line 1369 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "strftime('%s', 'now')");
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_DATETIME;
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 12988 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SECONDS:
#line 12992 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 13005 "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 13013 "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_OPEN_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 13026 "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 13034 "tracker-sparql-expression.c"
				}
			}
#line 1374 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = tracker_sparql_expression_translate_function (self, sql, TRACKER_SPARQL_EXPRESSION_FN_NS "seconds-from-dateTime", &_inner_error_);
#line 1374 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1374 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1374 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1374 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13047 "tracker-sparql-expression.c"
				} else {
#line 1374 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1374 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1374 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13055 "tracker-sparql-expression.c"
				}
			}
#line 1375 "/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 1375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13068 "tracker-sparql-expression.c"
				} else {
#line 1375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1375 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13076 "tracker-sparql-expression.c"
				}
			}
#line 1376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13083 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_MINUTES:
#line 13087 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
#line 1378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 13100 "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 13108 "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_OPEN_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 13121 "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 13129 "tracker-sparql-expression.c"
				}
			}
#line 1380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = tracker_sparql_expression_translate_function (self, sql, TRACKER_SPARQL_EXPRESSION_FN_NS "minutes-from-dateTime", &_inner_error_);
#line 1380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13142 "tracker-sparql-expression.c"
				} else {
#line 1380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1380 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13150 "tracker-sparql-expression.c"
				}
			}
#line 1381 "/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 1381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13163 "tracker-sparql-expression.c"
				} else {
#line 1381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13171 "tracker-sparql-expression.c"
				}
			}
#line 1382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13178 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_HOURS:
#line 13182 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
#line 1384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 13195 "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 13203 "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_OPEN_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 13216 "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 13224 "tracker-sparql-expression.c"
				}
			}
#line 1386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = tracker_sparql_expression_translate_function (self, sql, TRACKER_SPARQL_EXPRESSION_FN_NS "hours-from-dateTime", &_inner_error_);
#line 1386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13237 "tracker-sparql-expression.c"
				} else {
#line 1386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13245 "tracker-sparql-expression.c"
				}
			}
#line 1387 "/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 1387 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1387 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1387 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1387 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13258 "tracker-sparql-expression.c"
				} else {
#line 1387 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1387 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1387 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13266 "tracker-sparql-expression.c"
				}
			}
#line 1388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13273 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_DAY:
#line 13277 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
#line 1390 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 13290 "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 13298 "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_OPEN_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 13311 "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 13319 "tracker-sparql-expression.c"
				}
			}
#line 1392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = tracker_sparql_expression_translate_function (self, sql, TRACKER_SPARQL_EXPRESSION_FN_NS "day-from-dateTime", &_inner_error_);
#line 1392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13332 "tracker-sparql-expression.c"
				} else {
#line 1392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1392 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13340 "tracker-sparql-expression.c"
				}
			}
#line 1393 "/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 1393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13353 "tracker-sparql-expression.c"
				} else {
#line 1393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13361 "tracker-sparql-expression.c"
				}
			}
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13368 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_MONTH:
#line 13372 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
#line 1396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 13385 "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 13393 "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_OPEN_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 13406 "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 13414 "tracker-sparql-expression.c"
				}
			}
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = tracker_sparql_expression_translate_function (self, sql, TRACKER_SPARQL_EXPRESSION_FN_NS "month-from-dateTime", &_inner_error_);
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13427 "tracker-sparql-expression.c"
				} else {
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13435 "tracker-sparql-expression.c"
				}
			}
#line 1399 "/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 1399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13448 "tracker-sparql-expression.c"
				} else {
#line 1399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13456 "tracker-sparql-expression.c"
				}
			}
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13463 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_YEAR:
#line 13467 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _result_ = 0;
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 13480 "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 13488 "tracker-sparql-expression.c"
				}
			}
#line 1403 "/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 1403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13501 "tracker-sparql-expression.c"
				} else {
#line 1403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13509 "tracker-sparql-expression.c"
				}
			}
#line 1404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_result_ = tracker_sparql_expression_translate_function (self, sql, TRACKER_SPARQL_EXPRESSION_FN_NS "year-from-dateTime", &_inner_error_);
#line 1404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13522 "tracker-sparql-expression.c"
				} else {
#line 1404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13530 "tracker-sparql-expression.c"
				}
			}
#line 1405 "/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 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13543 "tracker-sparql-expression.c"
				} else {
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13551 "tracker-sparql-expression.c"
				}
			}
#line 1406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _result_;
#line 1406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13558 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_MD5:
#line 13562 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp120_ = 0;
#line 1408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 13575 "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 13583 "tracker-sparql-expression.c"
				}
			}
#line 1409 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "SparqlChecksum(");
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp120_ = tracker_sparql_expression_translate_aggregate_expression (self, sql, &_inner_error_);
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13598 "tracker-sparql-expression.c"
				} else {
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13606 "tracker-sparql-expression.c"
				}
			}
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp120_;
#line 1411 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ", \"md5\")");
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13617 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SHA1:
#line 13621 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp121_ = 0;
#line 1414 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 13634 "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 13642 "tracker-sparql-expression.c"
				}
			}
#line 1415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "SparqlChecksum(");
#line 1416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp121_ = tracker_sparql_expression_translate_aggregate_expression (self, sql, &_inner_error_);
#line 1416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13657 "tracker-sparql-expression.c"
				} else {
#line 1416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13665 "tracker-sparql-expression.c"
				}
			}
#line 1416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp121_;
#line 1417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ", \"sha1\")");
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13676 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SHA256:
#line 13680 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp122_ = 0;
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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 13693 "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 13701 "tracker-sparql-expression.c"
				}
			}
#line 1421 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "SparqlChecksum(");
#line 1422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp122_ = tracker_sparql_expression_translate_aggregate_expression (self, sql, &_inner_error_);
#line 1422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13716 "tracker-sparql-expression.c"
				} else {
#line 1422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13724 "tracker-sparql-expression.c"
				}
			}
#line 1422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp122_;
#line 1423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ", \"sha256\")");
#line 1424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13735 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SHA512:
#line 13739 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp123_ = 0;
#line 1426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_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 13752 "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 13760 "tracker-sparql-expression.c"
				}
			}
#line 1427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "SparqlChecksum(");
#line 1428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp123_ = tracker_sparql_expression_translate_aggregate_expression (self, sql, &_inner_error_);
#line 1428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13775 "tracker-sparql-expression.c"
				} else {
#line 1428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13783 "tracker-sparql-expression.c"
				}
			}
#line 1428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			type = _tmp123_;
#line 1429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ", \"sha512\")");
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = type;
#line 1430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13794 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_GROUP_CONCAT:
#line 13798 "tracker-sparql-expression.c"
		{
			gchar* _tmp124_ = NULL;
			gchar* _tmp125_;
			gchar* _tmp126_;
			gchar* _tmp127_;
#line 1432 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_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"
					return 0;
#line 13814 "tracker-sparql-expression.c"
				} else {
#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 13822 "tracker-sparql-expression.c"
				}
			}
#line 1433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, "GROUP_CONCAT(");
#line 1434 "/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 1434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13837 "tracker-sparql-expression.c"
				} else {
#line 1434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1434 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13845 "tracker-sparql-expression.c"
				}
			}
#line 1435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression_as_string (self, sql, &_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 13858 "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 13866 "tracker-sparql-expression.c"
				}
			}
#line 1436 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ", ");
#line 1437 "/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 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"
					return 0;
#line 13881 "tracker-sparql-expression.c"
				} else {
#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 13889 "tracker-sparql-expression.c"
				}
			}
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp125_ = tracker_sparql_expression_parse_string_literal (self, NULL, &_inner_error_);
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp124_ = _tmp125_;
#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"
					return 0;
#line 13904 "tracker-sparql-expression.c"
				} else {
#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 13912 "tracker-sparql-expression.c"
				}
			}
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp126_ = tracker_sparql_expression_escape_sql_string_literal (self, _tmp124_);
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp127_ = _tmp126_;
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, _tmp127_);
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp127_);
#line 1439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 1440 "/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 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (_tmp124_);
#line 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13937 "tracker-sparql-expression.c"
				} else {
#line 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (_tmp124_);
#line 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 13947 "tracker-sparql-expression.c"
				}
			}
#line 1441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = TRACKER_PROPERTY_TYPE_STRING;
#line 1441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp124_);
#line 1441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 13956 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX:
#line 13960 "tracker-sparql-expression.c"
		{
			gchar* ns = NULL;
			gchar* _tmp128_;
			gchar* uri = NULL;
			TrackerSparqlQuery* _tmp129_;
			const gchar* _tmp130_;
			gchar* _tmp131_;
			gchar* _tmp132_;
			gchar* _tmp133_;
			gchar* _tmp134_;
			gchar* _tmp135_;
			gchar* _tmp136_;
			TrackerPropertyType _tmp137_ = 0;
			const gchar* _tmp138_;
#line 1443 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#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"
					return 0;
#line 13985 "tracker-sparql-expression.c"
				} else {
#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 13993 "tracker-sparql-expression.c"
				}
			}
#line 1444 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp128_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1444 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			ns = _tmp128_;
#line 1445 "/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 1445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#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"
					_g_free0 (ns);
#line 1445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14012 "tracker-sparql-expression.c"
				} else {
#line 1445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#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 14022 "tracker-sparql-expression.c"
				}
			}
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp129_ = self->priv->query;
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp130_ = ns;
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp131_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp132_ = _tmp131_;
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp133_ = string_substring (_tmp132_, (glong) 1, (glong) -1);
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp134_ = _tmp133_;
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp135_ = tracker_sparql_query_resolve_prefixed_name (_tmp129_, _tmp130_, _tmp134_, &_inner_error_);
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp136_ = _tmp135_;
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp134_);
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp132_);
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			uri = _tmp136_;
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14057 "tracker-sparql-expression.c"
				} else {
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14067 "tracker-sparql-expression.c"
				}
			}
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp138_ = uri;
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp137_ = tracker_sparql_expression_translate_uri_expression (self, sql, _tmp138_, &_inner_error_);
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (uri);
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14086 "tracker-sparql-expression.c"
				} else {
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (uri);
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (ns);
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14098 "tracker-sparql-expression.c"
				}
			}
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp137_;
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (uri);
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (ns);
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 14109 "tracker-sparql-expression.c"
		}
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_COLON:
#line 14113 "tracker-sparql-expression.c"
		{
			gchar* uri = NULL;
			TrackerSparqlQuery* _tmp139_;
			gchar* _tmp140_;
			gchar* _tmp141_;
			gchar* _tmp142_;
			gchar* _tmp143_;
			gchar* _tmp144_;
			gchar* _tmp145_;
			TrackerPropertyType _tmp146_ = 0;
			const gchar* _tmp147_;
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_next (self, &_inner_error_);
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14135 "tracker-sparql-expression.c"
				} else {
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14143 "tracker-sparql-expression.c"
				}
			}
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp139_ = self->priv->query;
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp140_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp141_ = _tmp140_;
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp142_ = string_substring (_tmp141_, (glong) 1, (glong) -1);
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp143_ = _tmp142_;
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp144_ = tracker_sparql_query_resolve_prefixed_name (_tmp139_, "", _tmp143_, &_inner_error_);
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp145_ = _tmp144_;
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp143_);
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp141_);
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			uri = _tmp145_;
#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 14174 "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 14182 "tracker-sparql-expression.c"
				}
			}
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp147_ = uri;
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp146_ = tracker_sparql_expression_translate_uri_expression (self, sql, _tmp147_, &_inner_error_);
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (uri);
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14199 "tracker-sparql-expression.c"
				} else {
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_g_free0 (uri);
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14209 "tracker-sparql-expression.c"
				}
			}
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp146_;
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (uri);
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 14218 "tracker-sparql-expression.c"
		}
		default:
		{
			GError* _tmp148_;
#line 1453 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp148_ = tracker_sparql_expression_get_error (self, "expected primary expression");
#line 1453 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp148_;
#line 1453 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1453 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1453 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 14233 "tracker-sparql-expression.c"
			} else {
#line 1453 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1453 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1453 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 14241 "tracker-sparql-expression.c"
			}
		}
	}
}


static TrackerPropertyType
tracker_sparql_expression_translate_unary_expression (TrackerSparqlExpression* self,
                                                      GString* sql,
                                                      GError** error)
{
	TrackerPropertyType result = 0;
	gboolean _tmp0_ = FALSE;
	TrackerPropertyType _tmp6_ = 0;
	GError * _inner_error_ = NULL;
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_NEG, &_inner_error_);
#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 14271 "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 14279 "tracker-sparql-expression.c"
		}
	}
#line 1458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 14284 "tracker-sparql-expression.c"
		TrackerPropertyType optype = 0;
		TrackerPropertyType _tmp1_;
#line 1459 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, "NOT (");
#line 1460 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		optype = tracker_sparql_expression_translate_primary_expression (self, sql, &_inner_error_);
#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 14299 "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 14307 "tracker-sparql-expression.c"
			}
		}
#line 1461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, ")");
#line 1462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = optype;
#line 1462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp1_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
#line 14316 "tracker-sparql-expression.c"
			GError* _tmp2_;
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp2_;
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 14328 "tracker-sparql-expression.c"
			} else {
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 14336 "tracker-sparql-expression.c"
			}
		}
#line 1465 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1465 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		return result;
#line 14343 "tracker-sparql-expression.c"
	} else {
		gboolean _tmp3_ = FALSE;
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_PLUS, &_inner_error_);
#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 14356 "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 14364 "tracker-sparql-expression.c"
			}
		}
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp3_) {
#line 14369 "tracker-sparql-expression.c"
			TrackerPropertyType _tmp4_ = 0;
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp4_ = tracker_sparql_expression_translate_primary_expression (self, sql, &_inner_error_);
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14381 "tracker-sparql-expression.c"
				} else {
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14389 "tracker-sparql-expression.c"
				}
			}
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp4_;
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 14396 "tracker-sparql-expression.c"
		} else {
			gboolean _tmp5_ = FALSE;
#line 1468 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_MINUS, &_inner_error_);
#line 1468 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1468 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1468 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1468 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14409 "tracker-sparql-expression.c"
				} else {
#line 1468 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1468 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1468 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14417 "tracker-sparql-expression.c"
				}
			}
#line 1468 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp5_) {
#line 14422 "tracker-sparql-expression.c"
				TrackerPropertyType optype = 0;
#line 1469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, "-(");
#line 1470 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				optype = tracker_sparql_expression_translate_primary_expression (self, sql, &_inner_error_);
#line 1470 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1470 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1470 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1470 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 14436 "tracker-sparql-expression.c"
					} else {
#line 1470 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1470 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1470 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 14444 "tracker-sparql-expression.c"
					}
				}
#line 1471 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, ")");
#line 1472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				result = optype;
#line 1472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return result;
#line 14453 "tracker-sparql-expression.c"
			}
		}
	}
#line 1474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp6_ = tracker_sparql_expression_translate_primary_expression (self, sql, &_inner_error_);
#line 1474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 14467 "tracker-sparql-expression.c"
		} else {
#line 1474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 14475 "tracker-sparql-expression.c"
		}
	}
#line 1474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp6_;
#line 1474 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 14482 "tracker-sparql-expression.c"
}


static TrackerPropertyType
tracker_sparql_expression_translate_multiplicative_expression (TrackerSparqlExpression* self,
                                                               GString* sql,
                                                               GError** error)
{
	TrackerPropertyType result = 0;
	glong begin = 0L;
	gssize _tmp0_;
	TrackerPropertyType optype = 0;
	GError * _inner_error_ = NULL;
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1478 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql->len;
#line 1478 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp0_;
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	optype = tracker_sparql_expression_translate_unary_expression (self, sql, &_inner_error_);
#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 14514 "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 14522 "tracker-sparql-expression.c"
		}
	}
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	while (TRUE) {
#line 14527 "tracker-sparql-expression.c"
		gboolean _tmp1_ = FALSE;
#line 1481 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_STAR, &_inner_error_);
#line 1481 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1481 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1481 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1481 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 14539 "tracker-sparql-expression.c"
			} else {
#line 1481 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1481 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1481 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 14547 "tracker-sparql-expression.c"
			}
		}
#line 1481 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp1_) {
#line 14552 "tracker-sparql-expression.c"
			TrackerPropertyType _tmp2_;
			glong _tmp4_;
			TrackerPropertyType _tmp5_ = 0;
#line 1482 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = optype;
#line 1482 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (!tracker_sparql_expression_maybe_numeric (self, _tmp2_)) {
#line 14560 "tracker-sparql-expression.c"
				GError* _tmp3_;
#line 1483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp3_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_inner_error_ = _tmp3_;
#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 14572 "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 14580 "tracker-sparql-expression.c"
				}
			}
#line 1485 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp4_ = begin;
#line 1485 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_insert (sql, (gssize) _tmp4_, "(");
#line 1486 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, " * ");
#line 1487 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = tracker_sparql_expression_translate_unary_expression (self, sql, &_inner_error_);
#line 1487 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1487 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1487 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1487 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14599 "tracker-sparql-expression.c"
				} else {
#line 1487 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1487 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1487 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14607 "tracker-sparql-expression.c"
				}
			}
#line 1487 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (!tracker_sparql_expression_maybe_numeric (self, _tmp5_)) {
#line 14612 "tracker-sparql-expression.c"
				GError* _tmp6_;
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp6_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_inner_error_ = _tmp6_;
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14624 "tracker-sparql-expression.c"
				} else {
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14632 "tracker-sparql-expression.c"
				}
			}
#line 1490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 14637 "tracker-sparql-expression.c"
		} else {
			gboolean _tmp7_ = FALSE;
#line 1491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DIV, &_inner_error_);
#line 1491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14650 "tracker-sparql-expression.c"
				} else {
#line 1491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14658 "tracker-sparql-expression.c"
				}
			}
#line 1491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp7_) {
#line 14663 "tracker-sparql-expression.c"
				TrackerPropertyType _tmp8_;
				glong _tmp10_;
				TrackerPropertyType _tmp11_ = 0;
#line 1492 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp8_ = optype;
#line 1492 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (!tracker_sparql_expression_maybe_numeric (self, _tmp8_)) {
#line 14671 "tracker-sparql-expression.c"
					GError* _tmp9_;
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp9_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_inner_error_ = _tmp9_;
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 14683 "tracker-sparql-expression.c"
					} else {
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 14691 "tracker-sparql-expression.c"
					}
				}
#line 1495 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp10_ = begin;
#line 1495 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_insert (sql, (gssize) _tmp10_, "(");
#line 1496 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, " / ");
#line 1497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp11_ = tracker_sparql_expression_translate_unary_expression (self, sql, &_inner_error_);
#line 1497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 14710 "tracker-sparql-expression.c"
					} else {
#line 1497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 14718 "tracker-sparql-expression.c"
					}
				}
#line 1497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (!tracker_sparql_expression_maybe_numeric (self, _tmp11_)) {
#line 14723 "tracker-sparql-expression.c"
					GError* _tmp12_;
#line 1498 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp12_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1498 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_inner_error_ = _tmp12_;
#line 1498 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1498 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1498 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 14735 "tracker-sparql-expression.c"
					} else {
#line 1498 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1498 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1498 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 14743 "tracker-sparql-expression.c"
					}
				}
#line 1500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, ")");
#line 14748 "tracker-sparql-expression.c"
			} else {
#line 1502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				break;
#line 14752 "tracker-sparql-expression.c"
			}
		}
	}
#line 1505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = optype;
#line 1505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 14760 "tracker-sparql-expression.c"
}


static TrackerPropertyType
tracker_sparql_expression_translate_additive_expression (TrackerSparqlExpression* self,
                                                         GString* sql,
                                                         GError** error)
{
	TrackerPropertyType result = 0;
	glong begin = 0L;
	gssize _tmp0_;
	TrackerPropertyType optype = 0;
	GError * _inner_error_ = NULL;
#line 1508 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1508 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql->len;
#line 1509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp0_;
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	optype = tracker_sparql_expression_translate_multiplicative_expression (self, sql, &_inner_error_);
#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 14792 "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 14800 "tracker-sparql-expression.c"
		}
	}
#line 1511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	while (TRUE) {
#line 14805 "tracker-sparql-expression.c"
		gboolean _tmp1_ = FALSE;
#line 1512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_PLUS, &_inner_error_);
#line 1512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 14817 "tracker-sparql-expression.c"
			} else {
#line 1512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 14825 "tracker-sparql-expression.c"
			}
		}
#line 1512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp1_) {
#line 14830 "tracker-sparql-expression.c"
			TrackerPropertyType _tmp2_;
			glong _tmp4_;
			TrackerPropertyType _tmp5_ = 0;
#line 1513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = optype;
#line 1513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (!tracker_sparql_expression_maybe_numeric (self, _tmp2_)) {
#line 14838 "tracker-sparql-expression.c"
				GError* _tmp3_;
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp3_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_inner_error_ = _tmp3_;
#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 14850 "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 14858 "tracker-sparql-expression.c"
				}
			}
#line 1516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp4_ = begin;
#line 1516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_insert (sql, (gssize) _tmp4_, "(");
#line 1517 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, " + ");
#line 1518 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = tracker_sparql_expression_translate_multiplicative_expression (self, sql, &_inner_error_);
#line 1518 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1518 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1518 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1518 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14877 "tracker-sparql-expression.c"
				} else {
#line 1518 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1518 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1518 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14885 "tracker-sparql-expression.c"
				}
			}
#line 1518 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (!tracker_sparql_expression_maybe_numeric (self, _tmp5_)) {
#line 14890 "tracker-sparql-expression.c"
				GError* _tmp6_;
#line 1519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp6_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_inner_error_ = _tmp6_;
#line 1519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14902 "tracker-sparql-expression.c"
				} else {
#line 1519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14910 "tracker-sparql-expression.c"
				}
			}
#line 1521 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ")");
#line 14915 "tracker-sparql-expression.c"
		} else {
			gboolean _tmp7_ = FALSE;
#line 1522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_MINUS, &_inner_error_);
#line 1522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14928 "tracker-sparql-expression.c"
				} else {
#line 1522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 14936 "tracker-sparql-expression.c"
				}
			}
#line 1522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp7_) {
#line 14941 "tracker-sparql-expression.c"
				TrackerPropertyType _tmp8_;
				glong _tmp10_;
				TrackerPropertyType _tmp11_ = 0;
#line 1523 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp8_ = optype;
#line 1523 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (!tracker_sparql_expression_maybe_numeric (self, _tmp8_)) {
#line 14949 "tracker-sparql-expression.c"
					GError* _tmp9_;
#line 1524 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp9_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1524 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_inner_error_ = _tmp9_;
#line 1524 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1524 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1524 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 14961 "tracker-sparql-expression.c"
					} else {
#line 1524 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1524 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1524 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 14969 "tracker-sparql-expression.c"
					}
				}
#line 1526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp10_ = begin;
#line 1526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_insert (sql, (gssize) _tmp10_, "(");
#line 1527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, " - ");
#line 1528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp11_ = tracker_sparql_expression_translate_multiplicative_expression (self, sql, &_inner_error_);
#line 1528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 14988 "tracker-sparql-expression.c"
					} else {
#line 1528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 14996 "tracker-sparql-expression.c"
					}
				}
#line 1528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (!tracker_sparql_expression_maybe_numeric (self, _tmp11_)) {
#line 15001 "tracker-sparql-expression.c"
					GError* _tmp12_;
#line 1529 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp12_ = tracker_sparql_expression_get_error (self, "expected numeric operand");
#line 1529 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_inner_error_ = _tmp12_;
#line 1529 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1529 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_propagate_error (error, _inner_error_);
#line 1529 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 15013 "tracker-sparql-expression.c"
					} else {
#line 1529 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1529 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						g_clear_error (&_inner_error_);
#line 1529 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return 0;
#line 15021 "tracker-sparql-expression.c"
					}
				}
#line 1531 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_string_append (sql, ")");
#line 15026 "tracker-sparql-expression.c"
			} else {
#line 1533 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				break;
#line 15030 "tracker-sparql-expression.c"
			}
		}
	}
#line 1536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = optype;
#line 1536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 15038 "tracker-sparql-expression.c"
}


static TrackerPropertyType
tracker_sparql_expression_translate_numeric_expression (TrackerSparqlExpression* self,
                                                        GString* sql,
                                                        GError** error)
{
	TrackerPropertyType result = 0;
	TrackerPropertyType _tmp0_ = 0;
	GError * _inner_error_ = NULL;
#line 1539 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1539 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_translate_additive_expression (self, sql, &_inner_error_);
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 15064 "tracker-sparql-expression.c"
		} else {
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 15072 "tracker-sparql-expression.c"
		}
	}
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp0_;
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 15079 "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;
	TrackerPropertyType op2type = 0;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GError * _inner_error_ = NULL;
#line 1543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1543 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (operator != NULL, 0);
#line 1544 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_insert (sql, (gssize) begin, "(");
#line 1545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, operator);
#line 1546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	op2type = tracker_sparql_expression_translate_numeric_expression (self, sql, &_inner_error_);
#line 1546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 15117 "tracker-sparql-expression.c"
		} else {
#line 1546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 15125 "tracker-sparql-expression.c"
		}
	}
#line 1547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, ")");
#line 1548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (op1type == TRACKER_PROPERTY_TYPE_DATETIME) {
#line 1548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = op2type == TRACKER_PROPERTY_TYPE_STRING;
#line 15134 "tracker-sparql-expression.c"
	} else {
#line 1548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = FALSE;
#line 15138 "tracker-sparql-expression.c"
	}
#line 1548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp1_) {
#line 1548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp0_ = TRUE;
#line 15144 "tracker-sparql-expression.c"
	} else {
		gboolean _tmp2_ = FALSE;
#line 1549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (op1type == TRACKER_PROPERTY_TYPE_STRING) {
#line 1549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = op2type == TRACKER_PROPERTY_TYPE_DATETIME;
#line 15151 "tracker-sparql-expression.c"
		} else {
#line 1549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = FALSE;
#line 15155 "tracker-sparql-expression.c"
		}
#line 1549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp0_ = _tmp2_;
#line 15159 "tracker-sparql-expression.c"
	}
#line 1548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 15163 "tracker-sparql-expression.c"
		TrackerSparqlQuery* _tmp3_;
		GList* _tmp4_;
#line 1551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = self->priv->query;
#line 1551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = _tmp3_->bindings;
#line 1551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (g_list_length (_tmp4_) == (n_bindings + 1)) {
#line 15172 "tracker-sparql-expression.c"
			TrackerSparqlQuery* _tmp5_;
			GList* _tmp6_;
			GList* _tmp7_;
			gconstpointer _tmp8_;
#line 1553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = self->priv->query;
#line 1553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp6_ = _tmp5_->bindings;
#line 1553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = g_list_last (_tmp6_);
#line 1553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp8_ = _tmp7_->data;
#line 1553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			((TrackerSparqlDataBinding*) ((TrackerSparqlLiteralBinding*) _tmp8_))->data_type = TRACKER_PROPERTY_TYPE_DATETIME;
#line 15187 "tracker-sparql-expression.c"
		}
	} else {
		gboolean _tmp9_ = FALSE;
		gboolean _tmp10_ = FALSE;
#line 1555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (op1type == TRACKER_PROPERTY_TYPE_DATE) {
#line 1555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = op2type == TRACKER_PROPERTY_TYPE_STRING;
#line 15196 "tracker-sparql-expression.c"
		} else {
#line 1555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = FALSE;
#line 15200 "tracker-sparql-expression.c"
		}
#line 1555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp10_) {
#line 1555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp9_ = TRUE;
#line 15206 "tracker-sparql-expression.c"
		} else {
			gboolean _tmp11_ = FALSE;
#line 1556 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (op1type == TRACKER_PROPERTY_TYPE_STRING) {
#line 1556 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp11_ = op2type == TRACKER_PROPERTY_TYPE_DATE;
#line 15213 "tracker-sparql-expression.c"
			} else {
#line 1556 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp11_ = FALSE;
#line 15217 "tracker-sparql-expression.c"
			}
#line 1556 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp9_ = _tmp11_;
#line 15221 "tracker-sparql-expression.c"
		}
#line 1555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp9_) {
#line 15225 "tracker-sparql-expression.c"
			TrackerSparqlQuery* _tmp12_;
			GList* _tmp13_;
#line 1558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp12_ = self->priv->query;
#line 1558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp13_ = _tmp12_->bindings;
#line 1558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (g_list_length (_tmp13_) == (n_bindings + 1)) {
#line 15234 "tracker-sparql-expression.c"
				TrackerSparqlQuery* _tmp14_;
				GList* _tmp15_;
				GList* _tmp16_;
				gconstpointer _tmp17_;
#line 1560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp14_ = self->priv->query;
#line 1560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp15_ = _tmp14_->bindings;
#line 1560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp16_ = g_list_last (_tmp15_);
#line 1560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp17_ = _tmp16_->data;
#line 1560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				((TrackerSparqlDataBinding*) ((TrackerSparqlLiteralBinding*) _tmp17_))->data_type = TRACKER_PROPERTY_TYPE_DATE;
#line 15249 "tracker-sparql-expression.c"
			}
		}
	}
#line 1563 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1563 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 15257 "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;
	GError * _inner_error_ = NULL;
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	in_variable_count = 0;
#line 1570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (not) {
#line 1571 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, " NOT");
#line 15281 "tracker-sparql-expression.c"
	}
#line 1574 "/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 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 15293 "tracker-sparql-expression.c"
		} else {
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 15301 "tracker-sparql-expression.c"
		}
	}
#line 1575 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, " IN (");
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 15316 "tracker-sparql-expression.c"
		} else {
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 15324 "tracker-sparql-expression.c"
		}
	}
#line 1576 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (!_tmp0_) {
#line 15329 "tracker-sparql-expression.c"
		gint _tmp1_;
#line 1577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = in_variable_count;
#line 1577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		in_variable_count = _tmp1_ + 1;
#line 1578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 1578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 15345 "tracker-sparql-expression.c"
			} else {
#line 1578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 15353 "tracker-sparql-expression.c"
			}
		}
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		while (TRUE) {
#line 15358 "tracker-sparql-expression.c"
			gboolean _tmp2_ = FALSE;
			gint _tmp3_;
			gboolean _tmp4_ = FALSE;
			gint _tmp5_;
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp2_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15373 "tracker-sparql-expression.c"
				} else {
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15381 "tracker-sparql-expression.c"
				}
			}
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (!_tmp2_) {
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				break;
#line 15388 "tracker-sparql-expression.c"
			}
#line 1580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_string_append (sql, ", ");
#line 1582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp3_ = in_variable_count;
#line 1582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			in_variable_count = _tmp3_ + 1;
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp5_ = in_variable_count;
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp5_ > TRACKER_SPARQL_EXPRESSION_MAX_VARIABLES_FOR_IN) {
#line 15400 "tracker-sparql-expression.c"
				TrackerSparqlQuery* _tmp6_;
				gboolean _tmp7_;
				gboolean _tmp8_;
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp6_ = self->priv->query;
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp7_ = tracker_sparql_query_get_no_cache (_tmp6_);
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp8_ = _tmp7_;
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp4_ = !_tmp8_;
#line 15412 "tracker-sparql-expression.c"
			} else {
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp4_ = FALSE;
#line 15416 "tracker-sparql-expression.c"
			}
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp4_) {
#line 15420 "tracker-sparql-expression.c"
				TrackerSparqlQuery* _tmp9_;
#line 1585 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp9_ = self->priv->query;
#line 1585 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				tracker_sparql_query_set_no_cache (_tmp9_, TRUE);
#line 15426 "tracker-sparql-expression.c"
			}
#line 1588 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 1588 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1588 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1588 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1588 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15438 "tracker-sparql-expression.c"
				} else {
#line 1588 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1588 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1588 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 15446 "tracker-sparql-expression.c"
				}
			}
		}
#line 1590 "/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 1590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 15460 "tracker-sparql-expression.c"
			} else {
#line 1590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1590 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 15468 "tracker-sparql-expression.c"
			}
		}
	}
#line 1592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_string_append (sql, ")");
#line 1594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = TRACKER_PROPERTY_TYPE_BOOLEAN;
#line 1594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 15478 "tracker-sparql-expression.c"
}


static TrackerPropertyType
tracker_sparql_expression_translate_relational_expression (TrackerSparqlExpression* self,
                                                           GString* sql,
                                                           GError** error)
{
	TrackerPropertyType result = 0;
	glong begin = 0L;
	gssize _tmp0_;
	guint n_bindings = 0U;
	TrackerSparqlQuery* _tmp1_;
	GList* _tmp2_;
	TrackerPropertyType optype = 0;
	gboolean _tmp3_ = FALSE;
	GError * _inner_error_ = NULL;
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql->len;
#line 1598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp0_;
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = self->priv->query;
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp2_ = _tmp1_->bindings;
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	n_bindings = g_list_length (_tmp2_);
#line 1601 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	optype = tracker_sparql_expression_translate_numeric_expression (self, sql, &_inner_error_);
#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 15520 "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 15528 "tracker-sparql-expression.c"
		}
	}
#line 1602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp3_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_GE, &_inner_error_);
#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 15541 "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 15549 "tracker-sparql-expression.c"
		}
	}
#line 1602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp3_) {
#line 15554 "tracker-sparql-expression.c"
		TrackerPropertyType _tmp4_ = 0;
		glong _tmp5_;
		guint _tmp6_;
		TrackerPropertyType _tmp7_;
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = begin;
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = n_bindings;
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = optype;
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = tracker_sparql_expression_process_relational_expression (self, sql, _tmp5_, _tmp6_, _tmp7_, " >= ", &_inner_error_);
#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 15575 "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 15583 "tracker-sparql-expression.c"
			}
		}
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		result = _tmp4_;
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		return result;
#line 15590 "tracker-sparql-expression.c"
	} else {
		gboolean _tmp8_ = FALSE;
#line 1604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_EQ, &_inner_error_);
#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 15603 "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 15611 "tracker-sparql-expression.c"
			}
		}
#line 1604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp8_) {
#line 15616 "tracker-sparql-expression.c"
			TrackerPropertyType _tmp9_ = 0;
			glong _tmp10_;
			guint _tmp11_;
			TrackerPropertyType _tmp12_;
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp10_ = begin;
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp11_ = n_bindings;
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp12_ = optype;
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp9_ = tracker_sparql_expression_process_relational_expression (self, sql, _tmp10_, _tmp11_, _tmp12_, " = ", &_inner_error_);
#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 15637 "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 15645 "tracker-sparql-expression.c"
				}
			}
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp9_;
#line 1605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 15652 "tracker-sparql-expression.c"
		} else {
			gboolean _tmp13_ = FALSE;
#line 1606 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp13_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_NE, &_inner_error_);
#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 15665 "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 15673 "tracker-sparql-expression.c"
				}
			}
#line 1606 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_tmp13_) {
#line 15678 "tracker-sparql-expression.c"
				TrackerPropertyType _tmp14_ = 0;
				glong _tmp15_;
				guint _tmp16_;
				TrackerPropertyType _tmp17_;
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp15_ = begin;
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp16_ = n_bindings;
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp17_ = optype;
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp14_ = tracker_sparql_expression_process_relational_expression (self, sql, _tmp15_, _tmp16_, _tmp17_, " <> ", &_inner_error_);
#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 15699 "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 15707 "tracker-sparql-expression.c"
					}
				}
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				result = _tmp14_;
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return result;
#line 15714 "tracker-sparql-expression.c"
			} else {
				gboolean _tmp18_ = FALSE;
#line 1608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tmp18_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_LT, &_inner_error_);
#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 15727 "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 15735 "tracker-sparql-expression.c"
					}
				}
#line 1608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_tmp18_) {
#line 15740 "tracker-sparql-expression.c"
					TrackerPropertyType _tmp19_ = 0;
					glong _tmp20_;
					guint _tmp21_;
					TrackerPropertyType _tmp22_;
#line 1609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp20_ = begin;
#line 1609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp21_ = n_bindings;
#line 1609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp22_ = optype;
#line 1609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp19_ = tracker_sparql_expression_process_relational_expression (self, sql, _tmp20_, _tmp21_, _tmp22_, " < ", &_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 15761 "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 15769 "tracker-sparql-expression.c"
						}
					}
#line 1609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					result = _tmp19_;
#line 1609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return result;
#line 15776 "tracker-sparql-expression.c"
				} else {
					gboolean _tmp23_ = FALSE;
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					_tmp23_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_LE, &_inner_error_);
#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 15789 "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 15797 "tracker-sparql-expression.c"
						}
					}
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					if (_tmp23_) {
#line 15802 "tracker-sparql-expression.c"
						TrackerPropertyType _tmp24_ = 0;
						glong _tmp25_;
						guint _tmp26_;
						TrackerPropertyType _tmp27_;
#line 1611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp25_ = begin;
#line 1611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp26_ = n_bindings;
#line 1611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp27_ = optype;
#line 1611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp24_ = tracker_sparql_expression_process_relational_expression (self, sql, _tmp25_, _tmp26_, _tmp27_, " <= ", &_inner_error_);
#line 1611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_propagate_error (error, _inner_error_);
#line 1611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return 0;
#line 15823 "tracker-sparql-expression.c"
							} else {
#line 1611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_clear_error (&_inner_error_);
#line 1611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return 0;
#line 15831 "tracker-sparql-expression.c"
							}
						}
#line 1611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						result = _tmp24_;
#line 1611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						return result;
#line 15838 "tracker-sparql-expression.c"
					} else {
						gboolean _tmp28_ = FALSE;
#line 1612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						_tmp28_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_GT, &_inner_error_);
#line 1612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_propagate_error (error, _inner_error_);
#line 1612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return 0;
#line 15851 "tracker-sparql-expression.c"
							} else {
#line 1612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								g_clear_error (&_inner_error_);
#line 1612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return 0;
#line 15859 "tracker-sparql-expression.c"
							}
						}
#line 1612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
						if (_tmp28_) {
#line 15864 "tracker-sparql-expression.c"
							TrackerPropertyType _tmp29_ = 0;
							glong _tmp30_;
							guint _tmp31_;
							TrackerPropertyType _tmp32_;
#line 1613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp30_ = begin;
#line 1613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp31_ = n_bindings;
#line 1613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp32_ = optype;
#line 1613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp29_ = tracker_sparql_expression_process_relational_expression (self, sql, _tmp30_, _tmp31_, _tmp32_, " > ", &_inner_error_);
#line 1613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_propagate_error (error, _inner_error_);
#line 1613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									return 0;
#line 15885 "tracker-sparql-expression.c"
								} else {
#line 1613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_clear_error (&_inner_error_);
#line 1613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									return 0;
#line 15893 "tracker-sparql-expression.c"
								}
							}
#line 1613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							result = _tmp29_;
#line 1613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							return result;
#line 15900 "tracker-sparql-expression.c"
						} else {
							gboolean _tmp33_ = FALSE;
#line 1614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							_tmp33_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_IN, &_inner_error_);
#line 1614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_propagate_error (error, _inner_error_);
#line 1614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									return 0;
#line 15913 "tracker-sparql-expression.c"
								} else {
#line 1614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									g_clear_error (&_inner_error_);
#line 1614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									return 0;
#line 15921 "tracker-sparql-expression.c"
								}
							}
#line 1614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
							if (_tmp33_) {
#line 15926 "tracker-sparql-expression.c"
								TrackerPropertyType _tmp34_ = 0;
#line 1615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								_tmp34_ = tracker_sparql_expression_translate_in (self, sql, FALSE, &_inner_error_);
#line 1615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_propagate_error (error, _inner_error_);
#line 1615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										return 0;
#line 15938 "tracker-sparql-expression.c"
									} else {
#line 1615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										g_clear_error (&_inner_error_);
#line 1615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										return 0;
#line 15946 "tracker-sparql-expression.c"
									}
								}
#line 1615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								result = _tmp34_;
#line 1615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								return result;
#line 15953 "tracker-sparql-expression.c"
							} else {
								gboolean _tmp35_ = FALSE;
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								_tmp35_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_NOT, &_inner_error_);
#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 15966 "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 15974 "tracker-sparql-expression.c"
									}
								}
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
								if (_tmp35_) {
#line 15979 "tracker-sparql-expression.c"
									TrackerPropertyType _tmp36_ = 0;
#line 1617 "/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 1617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_propagate_error (error, _inner_error_);
#line 1617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											return 0;
#line 15991 "tracker-sparql-expression.c"
										} else {
#line 1617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_clear_error (&_inner_error_);
#line 1617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											return 0;
#line 15999 "tracker-sparql-expression.c"
										}
									}
#line 1618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									_tmp36_ = tracker_sparql_expression_translate_in (self, sql, TRUE, &_inner_error_);
#line 1618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
										if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_propagate_error (error, _inner_error_);
#line 1618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											return 0;
#line 16012 "tracker-sparql-expression.c"
										} else {
#line 1618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											g_clear_error (&_inner_error_);
#line 1618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
											return 0;
#line 16020 "tracker-sparql-expression.c"
										}
									}
#line 1618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									result = _tmp36_;
#line 1618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
									return result;
#line 16027 "tracker-sparql-expression.c"
								}
							}
						}
					}
				}
			}
		}
	}
#line 1620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = optype;
#line 1620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 16040 "tracker-sparql-expression.c"
}


static TrackerPropertyType
tracker_sparql_expression_translate_value_logical (TrackerSparqlExpression* self,
                                                   GString* sql,
                                                   GError** error)
{
	TrackerPropertyType result = 0;
	TrackerPropertyType _tmp0_ = 0;
	GError * _inner_error_ = NULL;
#line 1623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_translate_relational_expression (self, sql, &_inner_error_);
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#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 16066 "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 16074 "tracker-sparql-expression.c"
		}
	}
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp0_;
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 16081 "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;
	gssize _tmp0_;
	TrackerPropertyType optype = 0;
	GError * _inner_error_ = NULL;
#line 1627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql->len;
#line 1628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp0_;
#line 1629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	optype = tracker_sparql_expression_translate_value_logical (self, sql, &_inner_error_);
#line 1629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16113 "tracker-sparql-expression.c"
		} else {
#line 1629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1629 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16121 "tracker-sparql-expression.c"
		}
	}
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	while (TRUE) {
#line 16126 "tracker-sparql-expression.c"
		gboolean _tmp1_ = FALSE;
		TrackerPropertyType _tmp2_;
		glong _tmp4_;
		TrackerPropertyType _tmp5_ = 0;
		TrackerPropertyType _tmp6_;
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_AND, &_inner_error_);
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16142 "tracker-sparql-expression.c"
			} else {
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16150 "tracker-sparql-expression.c"
			}
		}
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (!_tmp1_) {
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 16157 "tracker-sparql-expression.c"
		}
#line 1631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = optype;
#line 1631 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp2_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
#line 16163 "tracker-sparql-expression.c"
			GError* _tmp3_;
#line 1632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp3_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
#line 1632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp3_;
#line 1632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16175 "tracker-sparql-expression.c"
			} else {
#line 1632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16183 "tracker-sparql-expression.c"
			}
		}
#line 1634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = begin;
#line 1634 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_insert (sql, (gssize) _tmp4_, "(");
#line 1635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, " AND ");
#line 1636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = tracker_sparql_expression_translate_value_logical (self, sql, &_inner_error_);
#line 1636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16202 "tracker-sparql-expression.c"
			} else {
#line 1636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16210 "tracker-sparql-expression.c"
			}
		}
#line 1636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		optype = _tmp5_;
#line 1637 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, ")");
#line 1638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = optype;
#line 1638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp6_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
#line 16221 "tracker-sparql-expression.c"
			GError* _tmp7_;
#line 1639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
#line 1639 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp7_;
#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 16233 "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 16241 "tracker-sparql-expression.c"
			}
		}
	}
#line 1642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = optype;
#line 1642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 16249 "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;
	gssize _tmp0_;
	TrackerPropertyType optype = 0;
	GError * _inner_error_ = NULL;
#line 1645 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1645 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = sql->len;
#line 1646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	begin = (glong) _tmp0_;
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	optype = tracker_sparql_expression_translate_conditional_and_expression (self, sql, &_inner_error_);
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16281 "tracker-sparql-expression.c"
		} else {
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16289 "tracker-sparql-expression.c"
		}
	}
#line 1648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	while (TRUE) {
#line 16294 "tracker-sparql-expression.c"
		gboolean _tmp1_ = FALSE;
		TrackerPropertyType _tmp2_;
		glong _tmp4_;
		TrackerPropertyType _tmp5_ = 0;
		TrackerPropertyType _tmp6_;
#line 1648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OP_OR, &_inner_error_);
#line 1648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16310 "tracker-sparql-expression.c"
			} else {
#line 1648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16318 "tracker-sparql-expression.c"
			}
		}
#line 1648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (!_tmp1_) {
#line 1648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			break;
#line 16325 "tracker-sparql-expression.c"
		}
#line 1649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = optype;
#line 1649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp2_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
#line 16331 "tracker-sparql-expression.c"
			GError* _tmp3_;
#line 1650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp3_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
#line 1650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp3_;
#line 1650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16343 "tracker-sparql-expression.c"
			} else {
#line 1650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16351 "tracker-sparql-expression.c"
			}
		}
#line 1652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = begin;
#line 1652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_insert (sql, (gssize) _tmp4_, "(");
#line 1653 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, " OR ");
#line 1654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = tracker_sparql_expression_translate_conditional_and_expression (self, sql, &_inner_error_);
#line 1654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16370 "tracker-sparql-expression.c"
			} else {
#line 1654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16378 "tracker-sparql-expression.c"
			}
		}
#line 1654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		optype = _tmp5_;
#line 1655 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, ")");
#line 1656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = optype;
#line 1656 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp6_ != TRACKER_PROPERTY_TYPE_BOOLEAN) {
#line 16389 "tracker-sparql-expression.c"
			GError* _tmp7_;
#line 1657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp7_ = tracker_sparql_expression_get_error (self, "expected boolean expression");
#line 1657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp7_;
#line 1657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16401 "tracker-sparql-expression.c"
			} else {
#line 1657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16409 "tracker-sparql-expression.c"
			}
		}
	}
#line 1660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = optype;
#line 1660 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 16417 "tracker-sparql-expression.c"
}


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


static TrackerPropertyType
tracker_sparql_expression_translate_bracketted_expression (TrackerSparqlExpression* self,
                                                           GString* sql,
                                                           GError** error)
{
	TrackerPropertyType result = 0;
	TrackerPropertyType optype = 0;
	GError * _inner_error_ = NULL;
#line 1667 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1667 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1668 "/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 1668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16484 "tracker-sparql-expression.c"
		} else {
#line 1668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1668 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16492 "tracker-sparql-expression.c"
		}
	}
#line 1670 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (tracker_sparql_expression_current (self) == TRACKER_SPARQL_TOKEN_TYPE_SELECT) {
#line 16497 "tracker-sparql-expression.c"
		TrackerSparqlSelectContext* select_context = NULL;
		TrackerSparqlPattern* _tmp0_;
		TrackerSparqlPattern* _tmp1_;
		TrackerSparqlSelectContext* _tmp2_;
		TrackerSparqlSelectContext* _tmp3_;
		TrackerPropertyType _tmp4_;
#line 1673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, "(");
#line 1674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp0_ = tracker_sparql_expression_get_pattern (self);
#line 1674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp1_ = _tmp0_;
#line 1674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = tracker_sparql_pattern_translate_select (_tmp1_, sql, TRUE, TRUE, &_inner_error_);
#line 1674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		select_context = _tmp2_;
#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 16522 "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 16530 "tracker-sparql-expression.c"
			}
		}
#line 1675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, ")");
#line 1677 "/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 1677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tracker_sparql_context_unref0 (select_context);
#line 1677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16547 "tracker-sparql-expression.c"
			} else {
#line 1677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_tracker_sparql_context_unref0 (select_context);
#line 1677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16557 "tracker-sparql-expression.c"
			}
		}
#line 1678 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = select_context;
#line 1678 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = _tmp3_->type;
#line 1678 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		result = _tmp4_;
#line 1678 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tracker_sparql_context_unref0 (select_context);
#line 1678 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		return result;
#line 16570 "tracker-sparql-expression.c"
	}
#line 1681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	optype = tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 1681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16582 "tracker-sparql-expression.c"
		} else {
#line 1681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1681 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16590 "tracker-sparql-expression.c"
		}
	}
#line 1682 "/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 1682 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1682 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1682 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1682 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16603 "tracker-sparql-expression.c"
		} else {
#line 1682 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1682 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1682 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16611 "tracker-sparql-expression.c"
		}
	}
#line 1683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = optype;
#line 1683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 16618 "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 is_var = FALSE;
	TrackerPropertyType optype = 0;
	gboolean _tmp1_;
	GError * _inner_error_ = NULL;
#line 1686 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1686 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1687 "/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 1687 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1687 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1687 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1687 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16647 "tracker-sparql-expression.c"
		} else {
#line 1687 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1687 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1687 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16655 "tracker-sparql-expression.c"
		}
	}
#line 1688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = tracker_sparql_expression_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DISTINCT, &_inner_error_);
#line 1688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16668 "tracker-sparql-expression.c"
		} else {
#line 1688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16676 "tracker-sparql-expression.c"
		}
	}
#line 1688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp0_) {
#line 1689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		g_string_append (sql, "DISTINCT ");
#line 16683 "tracker-sparql-expression.c"
	}
#line 1692 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	is_var = tracker_sparql_expression_current (self) == TRACKER_SPARQL_TOKEN_TYPE_VAR;
#line 1693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	optype = tracker_sparql_expression_translate_expression (self, sql, &_inner_error_);
#line 1693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16697 "tracker-sparql-expression.c"
		} else {
#line 1693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1693 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16705 "tracker-sparql-expression.c"
		}
	}
#line 1695 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = is_var;
#line 1695 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (_tmp1_) {
#line 16712 "tracker-sparql-expression.c"
		TrackerSparqlVariable* variable = NULL;
		TrackerSparqlContext* _tmp2_;
		TrackerSparqlContext* _tmp3_;
		gchar* _tmp4_;
		gchar* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
		TrackerSparqlVariable* _tmp8_;
		TrackerSparqlVariable* _tmp9_;
		TrackerSparqlVariable* _tmp10_;
		TrackerSparqlVariable* _tmp11_;
		TrackerSparqlVariableBinding* _tmp12_;
#line 1696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp2_ = tracker_sparql_expression_get_context (self);
#line 1696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp3_ = _tmp2_;
#line 1696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp4_ = tracker_sparql_expression_get_last_string (self, 0);
#line 1696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp5_ = _tmp4_;
#line 1696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp6_ = string_substring (_tmp5_, (glong) 1, (glong) -1);
#line 1696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp7_ = _tmp6_;
#line 1696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp8_ = tracker_sparql_context_get_variable (_tmp3_, _tmp7_);
#line 1696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp9_ = _g_object_ref0 (_tmp8_);
#line 1696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp10_ = _tmp9_;
#line 1696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp7_);
#line 1696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_free0 (_tmp5_);
#line 1696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		variable = _tmp10_;
#line 1697 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp11_ = variable;
#line 1697 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_tmp12_ = _tmp11_->binding;
#line 1697 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_tmp12_ == NULL) {
#line 16755 "tracker-sparql-expression.c"
			TrackerSparqlVariable* _tmp13_;
			const gchar* _tmp14_;
			const gchar* _tmp15_;
			gchar* _tmp16_;
			gchar* _tmp17_;
			GError* _tmp18_;
			GError* _tmp19_;
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp13_ = variable;
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp14_ = tracker_sparql_variable_get_name (_tmp13_);
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp15_ = _tmp14_;
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp16_ = g_strdup_printf ("use of undefined variable `%s'", _tmp15_);
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp17_ = _tmp16_;
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp18_ = tracker_sparql_expression_get_error (self, _tmp17_);
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp19_ = _tmp18_;
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_g_free0 (_tmp17_);
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_inner_error_ = _tmp19_;
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_propagate_error (error, _inner_error_);
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16789 "tracker-sparql-expression.c"
			} else {
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				_g_object_unref0 (variable);
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				g_clear_error (&_inner_error_);
#line 1698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				return 0;
#line 16799 "tracker-sparql-expression.c"
			}
		}
#line 1695 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		_g_object_unref0 (variable);
#line 16804 "tracker-sparql-expression.c"
	}
#line 1702 "/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 1702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_propagate_error (error, _inner_error_);
#line 1702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16816 "tracker-sparql-expression.c"
		} else {
#line 1702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			g_clear_error (&_inner_error_);
#line 1702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return 0;
#line 16824 "tracker-sparql-expression.c"
		}
	}
#line 1703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = optype;
#line 1703 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 16831 "tracker-sparql-expression.c"
}


TrackerPropertyType
tracker_sparql_expression_translate_constraint (TrackerSparqlExpression* self,
                                                GString* sql,
                                                GError** error)
{
	TrackerPropertyType result = 0;
	GError * _inner_error_ = NULL;
#line 1706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 1706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (sql != NULL, 0);
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	switch (tracker_sparql_expression_current (self)) {
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STR:
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_LANG:
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_LANGMATCHES:
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_DATATYPE:
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_BOUND:
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_IF:
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SAMETERM:
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISIRI:
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISURI:
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISBLANK:
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISLITERAL:
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_REGEX:
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_EXISTS:
#line 1707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_NOT:
#line 16876 "tracker-sparql-expression.c"
		{
			TrackerPropertyType _tmp0_ = 0;
#line 1722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp0_ = tracker_sparql_expression_translate_primary_expression (self, sql, &_inner_error_);
#line 1722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16889 "tracker-sparql-expression.c"
				} else {
#line 1722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16897 "tracker-sparql-expression.c"
				}
			}
#line 1722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp0_;
#line 1722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 16904 "tracker-sparql-expression.c"
		}
		default:
		{
			TrackerPropertyType _tmp1_ = 0;
#line 1724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			_tmp1_ = tracker_sparql_expression_translate_bracketted_expression (self, sql, &_inner_error_);
#line 1724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_propagate_error (error, _inner_error_);
#line 1724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16919 "tracker-sparql-expression.c"
				} else {
#line 1724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					g_clear_error (&_inner_error_);
#line 1724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
					return 0;
#line 16927 "tracker-sparql-expression.c"
				}
			}
#line 1724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			result = _tmp1_;
#line 1724 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
			return result;
#line 16934 "tracker-sparql-expression.c"
		}
	}
}


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


static TrackerSparqlPattern*
tracker_sparql_expression_get_pattern (TrackerSparqlExpression* self)
{
	TrackerSparqlPattern* result;
	TrackerSparqlQuery* _tmp0_;
	TrackerSparqlPattern* _tmp1_;
#line 49 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 49 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp0_ = self->priv->query;
#line 49 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_tmp1_ = _tmp0_->pattern;
#line 49 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	result = _tmp1_;
#line 49 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	return result;
#line 16976 "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 16991 "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 17000 "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 37 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-expression.vala"
	_g_object_unref0 (self->priv->manager);
#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 17016 "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 17044 "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 17050 "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;
}



