/* tracker-sparql-pattern.c generated by valac 0.40.6, the Vala compiler
 * generated from tracker-sparql-pattern.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-class.h"
#include "libtracker-data/tracker-data-manager.h"
#include "libtracker-sparql/tracker-sparql.h"
#include "libtracker-data/tracker-ontologies.h"
#include "libtracker-data/tracker-db-interface.h"
#include "libtracker-data/tracker-data-backup.h"
#include "libtracker-data/tracker-data-query.h"
#include "libtracker-data/tracker-property.h"


#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 _TrackerSparqlPredicateVariablePrivate TrackerSparqlPredicateVariablePrivate;
enum  {
	TRACKER_SPARQL_PREDICATE_VARIABLE_0_PROPERTY,
	TRACKER_SPARQL_PREDICATE_VARIABLE_NUM_PROPERTIES
};
static GParamSpec* tracker_sparql_predicate_variable_properties[TRACKER_SPARQL_PREDICATE_VARIABLE_NUM_PROPERTIES];
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

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

typedef struct _TrackerSparqlQuery TrackerSparqlQuery;
typedef struct _TrackerSparqlQueryClass TrackerSparqlQueryClass;
#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL)))

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

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

#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_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 _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _TrackerSparqlPatternPrivate TrackerSparqlPatternPrivate;

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

typedef struct _TrackerSparqlVariable TrackerSparqlVariable;
typedef struct _TrackerSparqlVariableClass TrackerSparqlVariableClass;

#define TRACKER_SPARQL_PATTERN_TYPE_TRIPLE_CONTEXT (tracker_sparql_pattern_triple_context_get_type ())
#define TRACKER_SPARQL_PATTERN_TRIPLE_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_PATTERN_TYPE_TRIPLE_CONTEXT, TrackerSparqlPatternTripleContext))
#define TRACKER_SPARQL_PATTERN_TRIPLE_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_PATTERN_TYPE_TRIPLE_CONTEXT, TrackerSparqlPatternTripleContextClass))
#define TRACKER_SPARQL_PATTERN_IS_TRIPLE_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_PATTERN_TYPE_TRIPLE_CONTEXT))
#define TRACKER_SPARQL_PATTERN_IS_TRIPLE_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_PATTERN_TYPE_TRIPLE_CONTEXT))
#define TRACKER_SPARQL_PATTERN_TRIPLE_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_PATTERN_TYPE_TRIPLE_CONTEXT, TrackerSparqlPatternTripleContextClass))

typedef struct _TrackerSparqlPatternTripleContext TrackerSparqlPatternTripleContext;
typedef struct _TrackerSparqlPatternTripleContextClass TrackerSparqlPatternTripleContextClass;
enum  {
	TRACKER_SPARQL_PATTERN_0_PROPERTY,
	TRACKER_SPARQL_PATTERN_NUM_PROPERTIES
};
static GParamSpec* tracker_sparql_pattern_properties[TRACKER_SPARQL_PATTERN_NUM_PROPERTIES];
#define _tracker_sparql_context_unref0(var) ((var == NULL) ? NULL : (var = (tracker_sparql_context_unref (var), NULL)))

#define TRACKER_TYPE_SPARQL_TOKEN_TYPE (tracker_sparql_token_type_get_type ())

#define TRACKER_TYPE_SOURCE_LOCATION (tracker_source_location_get_type ())
typedef struct _TrackerSourceLocation TrackerSourceLocation;

#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 __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))
typedef struct _TrackerSparqlContextPrivate TrackerSparqlContextPrivate;

#define TRACKER_SPARQL_TYPE_VARIABLE_STATE (tracker_sparql_variable_state_get_type ())
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
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;
typedef struct _TrackerSparqlSelectContextPrivate TrackerSparqlSelectContextPrivate;
typedef struct _TrackerSparqlPatternTripleContextPrivate TrackerSparqlPatternTripleContextPrivate;

#define TRACKER_SPARQL_TYPE_VARIABLE_BINDING_LIST (tracker_sparql_variable_binding_list_get_type ())
#define TRACKER_SPARQL_VARIABLE_BINDING_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_VARIABLE_BINDING_LIST, TrackerSparqlVariableBindingList))
#define TRACKER_SPARQL_VARIABLE_BINDING_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_SPARQL_TYPE_VARIABLE_BINDING_LIST, TrackerSparqlVariableBindingListClass))
#define TRACKER_SPARQL_IS_VARIABLE_BINDING_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_SPARQL_TYPE_VARIABLE_BINDING_LIST))
#define TRACKER_SPARQL_IS_VARIABLE_BINDING_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_SPARQL_TYPE_VARIABLE_BINDING_LIST))
#define TRACKER_SPARQL_VARIABLE_BINDING_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRACKER_SPARQL_TYPE_VARIABLE_BINDING_LIST, TrackerSparqlVariableBindingListClass))

typedef struct _TrackerSparqlVariableBindingList TrackerSparqlVariableBindingList;
typedef struct _TrackerSparqlVariableBindingListClass TrackerSparqlVariableBindingListClass;
typedef struct _TrackerSparqlDataTablePrivate TrackerSparqlDataTablePrivate;
typedef struct _TrackerSparqlVariableBindingListPrivate TrackerSparqlVariableBindingListPrivate;
typedef struct _TrackerSparqlVariableBindingPrivate TrackerSparqlVariableBindingPrivate;
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);

struct _TrackerSparqlPredicateVariable {
	GObject parent_instance;
	TrackerSparqlPredicateVariablePrivate * priv;
	gchar* subject;
	gchar* object;
	gboolean return_graph;
	TrackerClass* domain;
};

struct _TrackerSparqlPredicateVariableClass {
	GObjectClass parent_class;
};

struct _TrackerSparqlPredicateVariablePrivate {
	TrackerDataManager* manager;
};

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

struct _TrackerSparqlDataBindingClass {
	GObjectClass parent_class;
};

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

struct _TrackerSparqlLiteralBindingClass {
	TrackerSparqlDataBindingClass parent_class;
};

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

struct _TrackerSparqlQueryClass {
	GObjectClass parent_class;
};

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 _TrackerSparqlPatternPrivate {
	TrackerSparqlQuery* query;
	TrackerSparqlExpression* expression;
	gint counter;
	gint next_table_index;
	gboolean current_graph_is_var;
	gchar* current_subject;
	gboolean current_subject_is_var;
	gchar* current_predicate;
	gboolean current_predicate_is_var;
	TrackerDataManager* manager;
	TrackerSparqlPatternTripleContext* triple_context;
};

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 _TrackerSourceLocation {
	gchar* pos;
	gint line;
	gint column;
};

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

typedef enum  {
	TRACKER_SPARQL_VARIABLE_STATE_NONE,
	TRACKER_SPARQL_VARIABLE_STATE_BOUND,
	TRACKER_SPARQL_VARIABLE_STATE_OPTIONAL
} TrackerSparqlVariableState;

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

struct _TrackerSparqlVariableClass {
	GObjectClass parent_class;
};

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 _TrackerSparqlPatternTripleContext {
	TrackerSparqlContext parent_instance;
	TrackerSparqlPatternTripleContextPrivate * priv;
	GList* tables;
	GHashTable* table_map;
	GList* bindings;
	GList* variables;
	GHashTable* var_bindings;
};

struct _TrackerSparqlPatternTripleContextClass {
	TrackerSparqlContextClass parent_class;
};

struct _TrackerSparqlDataTable {
	GObject parent_instance;
	TrackerSparqlDataTablePrivate * priv;
	gchar* sql_db_tablename;
	gchar* sql_query_tablename;
	TrackerSparqlPredicateVariable* predicate_variable;
};

struct _TrackerSparqlDataTableClass {
	GObjectClass parent_class;
};

struct _TrackerSparqlVariableBindingList {
	GObject parent_instance;
	TrackerSparqlVariableBindingListPrivate * priv;
	GList* list;
};

struct _TrackerSparqlVariableBindingListClass {
	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;
};


static gpointer tracker_sparql_predicate_variable_parent_class = NULL;
static gpointer tracker_sparql_pattern_parent_class = NULL;
static gpointer tracker_sparql_pattern_triple_context_parent_class = NULL;

GType tracker_sparql_predicate_variable_get_type (void) G_GNUC_CONST;
#define TRACKER_SPARQL_PREDICATE_VARIABLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE, TrackerSparqlPredicateVariablePrivate))
TrackerSparqlPredicateVariable* tracker_sparql_predicate_variable_new (TrackerDataManager* manager);
TrackerSparqlPredicateVariable* tracker_sparql_predicate_variable_construct (GType object_type,
                                                                             TrackerDataManager* manager);
GType tracker_sparql_query_get_type (void) G_GNUC_CONST;
gchar* tracker_sparql_predicate_variable_get_sql_query (TrackerSparqlPredicateVariable* self,
                                                        TrackerSparqlQuery* query,
                                                        GError** error);
void tracker_sparql_expression_append_expression_as_string (GString* sql,
                                                            const gchar* expression,
                                                            TrackerPropertyType type);
GType tracker_sparql_data_binding_get_type (void) G_GNUC_CONST;
GType tracker_sparql_literal_binding_get_type (void) G_GNUC_CONST;
TrackerSparqlLiteralBinding* tracker_sparql_literal_binding_new (void);
TrackerSparqlLiteralBinding* tracker_sparql_literal_binding_construct (GType object_type);
GType tracker_sparql_data_table_get_type (void) G_GNUC_CONST;
GType tracker_sparql_expression_get_type (void) G_GNUC_CONST;
GType tracker_sparql_pattern_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;
GError* tracker_sparql_query_get_internal_error (TrackerSparqlQuery* self,
                                                 const gchar* msg);
static void tracker_sparql_predicate_variable_finalize (GObject * obj);
GType tracker_sparql_variable_get_type (void) G_GNUC_CONST;
static GType tracker_sparql_pattern_triple_context_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define TRACKER_SPARQL_PATTERN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRACKER_SPARQL_TYPE_PATTERN, TrackerSparqlPatternPrivate))
TrackerSparqlPattern* tracker_sparql_pattern_new (TrackerSparqlQuery* query);
TrackerSparqlPattern* tracker_sparql_pattern_construct (GType object_type,
                                                        TrackerSparqlQuery* query);
static inline gboolean tracker_sparql_pattern_next (TrackerSparqlPattern* 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_pattern_current (TrackerSparqlPattern* self);
TrackerSparqlTokenType tracker_sparql_query_current (TrackerSparqlQuery* self);
static inline gboolean tracker_sparql_pattern_accept (TrackerSparqlPattern* self,
                                        TrackerSparqlTokenType type,
                                        GError** error);
gboolean tracker_sparql_query_accept (TrackerSparqlQuery* self,
                                      TrackerSparqlTokenType type,
                                      GError** error);
static inline void tracker_sparql_pattern_optional (TrackerSparqlPattern* self,
                                      TrackerSparqlTokenType type,
                                      GError** error);
void tracker_sparql_query_optional (TrackerSparqlQuery* self,
                                    TrackerSparqlTokenType type,
                                    GError** error);
static GError* tracker_sparql_pattern_get_error (TrackerSparqlPattern* self,
                                          const gchar* msg);
GError* tracker_sparql_query_get_error (TrackerSparqlQuery* self,
                                        const gchar* msg);
static gboolean tracker_sparql_pattern_expect (TrackerSparqlPattern* self,
                                        TrackerSparqlTokenType type,
                                        GError** error);
gboolean tracker_sparql_query_expect (TrackerSparqlQuery* self,
                                      TrackerSparqlTokenType type,
                                      GError** error);
GType tracker_source_location_get_type (void) G_GNUC_CONST;
TrackerSourceLocation* tracker_source_location_dup (const TrackerSourceLocation* self);
void tracker_source_location_free (TrackerSourceLocation* self);
static void tracker_sparql_pattern_get_location (TrackerSparqlPattern* self,
                                          TrackerSourceLocation* result);
void tracker_sparql_query_get_location (TrackerSparqlQuery* self,
                                        TrackerSourceLocation* result);
static void tracker_sparql_pattern_set_location (TrackerSparqlPattern* self,
                                          TrackerSourceLocation* location);
void tracker_sparql_query_set_location (TrackerSparqlQuery* self,
                                        TrackerSourceLocation* location);
static gchar* tracker_sparql_pattern_get_last_string (TrackerSparqlPattern* self,
                                               gint strip);
gchar* tracker_sparql_query_get_last_string (TrackerSparqlQuery* self,
                                             gint strip);
GType tracker_sparql_select_context_get_type (void) G_GNUC_CONST;
TrackerSparqlSelectContext* tracker_sparql_pattern_translate_select (TrackerSparqlPattern* self,
                                                                     GString* sql,
                                                                     gboolean subquery,
                                                                     gboolean scalar_subquery,
                                                                     GError** error);
static TrackerSparqlContext* tracker_sparql_pattern_get_context (TrackerSparqlPattern* self);
TrackerSparqlSelectContext* tracker_sparql_select_context_new_subquery (TrackerSparqlQuery* query,
                                                                        TrackerSparqlContext* parent_context);
TrackerSparqlSelectContext* tracker_sparql_select_context_construct_subquery (GType object_type,
                                                                              TrackerSparqlQuery* query,
                                                                              TrackerSparqlContext* parent_context);
TrackerSparqlSelectContext* tracker_sparql_select_context_new (TrackerSparqlQuery* query,
                                                               TrackerSparqlContext* parent_context);
TrackerSparqlSelectContext* tracker_sparql_select_context_construct (GType object_type,
                                                                     TrackerSparqlQuery* query,
                                                                     TrackerSparqlContext* parent_context);
static void tracker_sparql_pattern_set_context (TrackerSparqlPattern* self,
                                         TrackerSparqlContext* value);
static void _g_object_unref0_ (gpointer var);
static inline void _g_list_free__g_object_unref0_ (GList* self);
void tracker_sparql_expression_skip_select_variables (TrackerSparqlExpression* self,
                                                      GError** error);
TrackerSparqlContext* tracker_sparql_pattern_translate_group_graph_pattern (TrackerSparqlPattern* self,
                                                                            GString* sql,
                                                                            GError** error);
GType tracker_sparql_variable_state_get_type (void) G_GNUC_CONST;
GType tracker_sparql_variable_binding_get_type (void) G_GNUC_CONST;
const gchar* tracker_sparql_variable_get_name (TrackerSparqlVariable* self);
const gchar* tracker_sparql_variable_get_sql_expression (TrackerSparqlVariable* self);
static void _vala_array_add5 (TrackerPropertyType* * array,
                       int* length,
                       int* size,
                       TrackerPropertyType value);
static void _vala_array_add6 (gchar** * array,
                       int* length,
                       int* size,
                       gchar* value);
TrackerPropertyType tracker_sparql_expression_translate_select_expression (TrackerSparqlExpression* self,
                                                                           GString* sql,
                                                                           gboolean subquery,
                                                                           gint variable_index,
                                                                           GError** error);
static void _vala_array_add7 (TrackerPropertyType* * array,
                       int* length,
                       int* size,
                       TrackerPropertyType value);
TrackerPropertyType tracker_sparql_expression_translate_expression (TrackerSparqlExpression* self,
                                                                    GString* sql,
                                                                    GError** error);
TrackerPropertyType tracker_sparql_expression_translate_constraint (TrackerSparqlExpression* self,
                                                                    GString* sql,
                                                                    GError** error);
void tracker_sparql_expression_translate_order_condition (TrackerSparqlExpression* self,
                                                          GString* sql,
                                                          GError** error);
void tracker_sparql_pattern_translate_exists (TrackerSparqlPattern* self,
                                              GString* sql,
                                              GError** error);
gchar* tracker_sparql_pattern_parse_var_or_term (TrackerSparqlPattern* self,
                                                 GString* sql,
                                                 gboolean* is_var,
                                                 GError** error);
gchar* tracker_sparql_query_resolve_prefixed_name (TrackerSparqlQuery* self,
                                                   const gchar* prefix,
                                                   const gchar* local_name,
                                                   GError** error);
gchar* tracker_sparql_query_generate_bnodeid (TrackerSparqlQuery* self,
                                              const gchar* user_bnodeid);
gchar* tracker_sparql_expression_parse_string_literal (TrackerSparqlExpression* self,
                                                       TrackerPropertyType* type,
                                                       GError** error);
static void tracker_sparql_pattern_parse_property_list_not_empty (TrackerSparqlPattern* self,
                                                           GString* sql,
                                                           gboolean in_simple_optional,
                                                           GError** error);
static void tracker_sparql_pattern_parse_object_list (TrackerSparqlPattern* self,
                                               GString* sql,
                                               gboolean in_simple_optional,
                                               GError** error);
static void tracker_sparql_pattern_parse_object (TrackerSparqlPattern* self,
                                          GString* sql,
                                          gboolean in_simple_optional,
                                          GError** error);
static void tracker_sparql_pattern_translate_filter (TrackerSparqlPattern* self,
                                              GString* sql,
                                              GError** error);
static void tracker_sparql_pattern_skip_filter (TrackerSparqlPattern* self,
                                         GError** error);
static void tracker_sparql_pattern_start_triples_block (TrackerSparqlPattern* self,
                                                 GString* sql,
                                                 GError** error);
static TrackerSparqlPatternTripleContext* tracker_sparql_pattern_triple_context_new (TrackerSparqlQuery* query,
                                                                              TrackerSparqlContext* parent_context);
static TrackerSparqlPatternTripleContext* tracker_sparql_pattern_triple_context_construct (GType object_type,
                                                                                    TrackerSparqlQuery* query,
                                                                                    TrackerSparqlContext* parent_context);
static void tracker_sparql_pattern_end_triples_block (TrackerSparqlPattern* self,
                                               GString* sql,
                                               gboolean* first_where,
                                               gboolean in_group_graph_pattern,
                                               GError** error);
GType tracker_sparql_variable_binding_list_get_type (void) G_GNUC_CONST;
const gchar* tracker_sparql_data_binding_get_sql_expression (TrackerSparqlDataBinding* self);
static void tracker_sparql_pattern_parse_triples (TrackerSparqlPattern* self,
                                           GString* sql,
                                           glong group_graph_pattern_start,
                                           gboolean* in_triples_block,
                                           gboolean* first_where,
                                           gboolean* in_group_graph_pattern,
                                           gboolean found_simple_optional,
                                           GError** error);
static gboolean tracker_sparql_pattern_is_subclass (TrackerSparqlPattern* self,
                                             TrackerClass* class1,
                                             TrackerClass* class2);
static gboolean tracker_sparql_pattern_is_simple_optional (TrackerSparqlPattern* self);
TrackerSparqlVariable* tracker_sparql_context_get_variable (TrackerSparqlContext* self,
                                                            const gchar* name);
guint tracker_sparql_variable_hash (TrackerSparqlVariable* variable);
static guint _tracker_sparql_variable_hash_ghash_func (gconstpointer key);
gboolean tracker_sparql_variable_equal (TrackerSparqlVariable* a,
                                        TrackerSparqlVariable* b);
static gboolean _tracker_sparql_variable_equal_gequal_func (gconstpointer a,
                                                     gconstpointer b);
TrackerSparqlContext* tracker_sparql_context_new (TrackerSparqlQuery* query,
                                                  TrackerSparqlContext* parent_context);
TrackerSparqlContext* tracker_sparql_context_construct (GType object_type,
                                                        TrackerSparqlQuery* query,
                                                        TrackerSparqlContext* parent_context);
gchar* tracker_sparql_variable_get_extra_sql_expression (TrackerSparqlVariable* self,
                                                         const gchar* suffix);
static void tracker_sparql_pattern_translate_group_or_union_graph_pattern (TrackerSparqlPattern* self,
                                                                    GString* sql,
                                                                    GError** error);
TrackerSparqlVariableBinding* tracker_sparql_variable_binding_new (void);
TrackerSparqlVariableBinding* tracker_sparql_variable_binding_construct (GType object_type);
void tracker_sparql_data_binding_set_sql_expression (TrackerSparqlDataBinding* self,
                                                     const gchar* value);
void tracker_sparql_pattern_add_variable_binding (TrackerSparqlPattern* self,
                                                  GString* sql,
                                                  TrackerSparqlVariableBinding* binding,
                                                  TrackerSparqlVariableState variable_state);
static void _vala_array_add8 (TrackerSourceLocation* * array,
                       int* length,
                       int* size,
                       const TrackerSourceLocation* value);
static void _vala_array_add9 (glong* * array,
                       int* length,
                       int* size,
                       glong value);
static void _vala_array_add10 (TrackerSparqlContext** * array,
                        int* length,
                        int* size,
                        TrackerSparqlContext* value);
static void _vala_array_add11 (TrackerSparqlVariable** * array,
                        int* length,
                        int* size,
                        TrackerSparqlVariable* value);
static TrackerSparqlVariableBindingList* tracker_sparql_pattern_get_variable_binding_list (TrackerSparqlPattern* self,
                                                                                    TrackerSparqlVariable* variable);
TrackerSparqlVariableBindingList* tracker_sparql_variable_binding_list_new (void);
TrackerSparqlVariableBindingList* tracker_sparql_variable_binding_list_construct (GType object_type);
gchar* tracker_sparql_data_binding_get_extra_sql_expression (TrackerSparqlDataBinding* self,
                                                             const gchar* suffix);
static TrackerSparqlDataTable* tracker_sparql_pattern_get_table (TrackerSparqlPattern* self,
                                                          const gchar* subject,
                                                          const gchar* db_table,
                                                          gboolean share_table,
                                                          gboolean* newtable);
TrackerSparqlDataTable* tracker_sparql_data_table_new (void);
TrackerSparqlDataTable* tracker_sparql_data_table_construct (GType object_type);
static void tracker_sparql_pattern_triple_context_finalize (TrackerSparqlContext * obj);
static void tracker_sparql_pattern_finalize (GObject * obj);
static void _vala_tracker_sparql_pattern_get_property (GObject * object,
                                                guint property_id,
                                                GValue * value,
                                                GParamSpec * pspec);
static void _vala_tracker_sparql_pattern_set_property (GObject * object,
                                                guint property_id,
                                                const 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 gpointer
_g_object_ref0 (gpointer self)
{
#line 32 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return self ? g_object_ref (self) : NULL;
#line 815 "tracker-sparql-pattern.c"
}


TrackerSparqlPredicateVariable*
tracker_sparql_predicate_variable_construct (GType object_type,
                                             TrackerDataManager* manager)
{
	TrackerSparqlPredicateVariable * self = NULL;
	TrackerDataManager* _tmp0_;
#line 31 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (manager != NULL, NULL);
#line 31 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self = (TrackerSparqlPredicateVariable*) g_object_new (object_type, NULL);
#line 32 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = _g_object_ref0 (manager);
#line 32 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_object_unref0 (self->priv->manager);
#line 32 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->priv->manager = _tmp0_;
#line 31 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return self;
#line 837 "tracker-sparql-pattern.c"
}


TrackerSparqlPredicateVariable*
tracker_sparql_predicate_variable_new (TrackerDataManager* manager)
{
#line 31 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return tracker_sparql_predicate_variable_construct (TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE, manager);
#line 846 "tracker-sparql-pattern.c"
}


gchar*
tracker_sparql_predicate_variable_get_sql_query (TrackerSparqlPredicateVariable* self,
                                                 TrackerSparqlQuery* query,
                                                 GError** error)
{
	gchar* result = NULL;
	GError * _inner_error_ = NULL;
#line 35 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 35 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (query != NULL, NULL);
#line 861 "tracker-sparql-pattern.c"
	{
		GString* sql = NULL;
		GString* _tmp0_;
		TrackerOntologies* ontologies = NULL;
		TrackerDataManager* _tmp1_;
		TrackerOntologies* _tmp2_;
		TrackerOntologies* _tmp3_;
		TrackerDBInterface* iface = NULL;
		TrackerDataManager* _tmp4_;
		TrackerDBInterface* _tmp5_;
		TrackerDBInterface* _tmp6_;
		const gchar* _tmp7_;
		GString* _tmp159_;
		const gchar* _tmp160_;
		gchar* _tmp161_;
#line 37 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp0_ = g_string_new ("");
#line 37 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		sql = _tmp0_;
#line 38 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp1_ = self->priv->manager;
#line 38 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp2_ = tracker_data_manager_get_ontologies (_tmp1_);
#line 38 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp3_ = _g_object_ref0 (_tmp2_);
#line 38 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		ontologies = _tmp3_;
#line 39 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp4_ = self->priv->manager;
#line 39 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp5_ = tracker_data_manager_get_db_interface (_tmp4_);
#line 39 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp6_ = _g_object_ref0 (_tmp5_);
#line 39 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		iface = _tmp6_;
#line 41 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp7_ = self->subject;
#line 41 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp7_ != NULL) {
#line 901 "tracker-sparql-pattern.c"
			gint subject_id = 0;
			TrackerDataManager* _tmp8_;
			TrackerDBInterface* _tmp9_;
			const gchar* _tmp10_;
			TrackerDBCursor* cursor = NULL;
			gint _tmp11_;
			gboolean first = FALSE;
			TrackerDBCursor* _tmp20_;
			gboolean _tmp69_;
#line 43 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp8_ = self->priv->manager;
#line 43 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp9_ = iface;
#line 43 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp10_ = self->subject;
#line 43 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			subject_id = tracker_data_query_resource_id (_tmp8_, _tmp9_, _tmp10_);
#line 45 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			cursor = NULL;
#line 46 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp11_ = subject_id;
#line 46 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp11_ > 0) {
#line 925 "tracker-sparql-pattern.c"
				TrackerDBStatement* stmt = NULL;
				TrackerDBInterface* _tmp12_;
				TrackerDBStatement* _tmp13_;
				TrackerDBStatement* _tmp14_;
				gint _tmp15_;
				TrackerDBCursor* _tmp16_ = NULL;
				TrackerDBStatement* _tmp17_;
				TrackerDBCursor* _tmp18_;
				TrackerDBCursor* _tmp19_;
#line 47 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp12_ = iface;
#line 47 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp13_ = tracker_db_interface_create_statement (_tmp12_, TRACKER_DB_STATEMENT_CACHE_TYPE_SELECT, &_inner_error_, "SELECT (SELECT Uri FROM Resource WHERE ID = \"rdf:type\") " "FROM \"rdfs:Resource_rdf:type\" WHERE ID = ?");
#line 47 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				stmt = _tmp13_;
#line 47 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 47 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (cursor);
#line 47 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (iface);
#line 47 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (ontologies);
#line 47 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (sql);
#line 951 "tracker-sparql-pattern.c"
					goto __catch0_g_error;
				}
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp14_ = stmt;
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp15_ = subject_id;
#line 50 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_db_statement_bind_int (_tmp14_, 0, _tmp15_);
#line 51 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp17_ = stmt;
#line 51 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp18_ = tracker_db_statement_start_cursor (_tmp17_, &_inner_error_);
#line 51 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp16_ = _tmp18_;
#line 51 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 51 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (stmt);
#line 51 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (cursor);
#line 51 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (iface);
#line 51 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (ontologies);
#line 51 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (sql);
#line 978 "tracker-sparql-pattern.c"
					goto __catch0_g_error;
				}
#line 51 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp19_ = _tmp16_;
#line 51 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp16_ = NULL;
#line 51 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (cursor);
#line 51 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				cursor = _tmp19_;
#line 46 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (_tmp16_);
#line 46 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (stmt);
#line 993 "tracker-sparql-pattern.c"
			}
#line 54 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			first = TRUE;
#line 55 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp20_ = cursor;
#line 55 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp20_ != NULL) {
#line 56 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				while (TRUE) {
#line 1003 "tracker-sparql-pattern.c"
					gboolean _tmp21_ = FALSE;
					TrackerDBCursor* _tmp22_;
					TrackerClass* domain = NULL;
					TrackerOntologies* _tmp23_;
					TrackerDBCursor* _tmp24_;
					const gchar* _tmp25_;
					TrackerClass* _tmp26_;
					TrackerClass* _tmp27_;
					TrackerOntologies* _tmp28_;
					gint _tmp29_;
					TrackerProperty** _tmp30_;
#line 56 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp22_ = cursor;
#line 56 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp21_ = tracker_sparql_cursor_next ((TrackerSparqlCursor*) _tmp22_, NULL, &_inner_error_);
#line 56 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 56 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (cursor);
#line 56 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (iface);
#line 56 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (ontologies);
#line 56 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_string_free0 (sql);
#line 1029 "tracker-sparql-pattern.c"
						goto __catch0_g_error;
					}
#line 56 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (!_tmp21_) {
#line 56 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						break;
#line 1036 "tracker-sparql-pattern.c"
					}
#line 57 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp23_ = ontologies;
#line 57 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp24_ = cursor;
#line 57 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp25_ = tracker_sparql_cursor_get_string ((TrackerSparqlCursor*) _tmp24_, 0, NULL);
#line 57 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp26_ = tracker_ontologies_get_class_by_uri (_tmp23_, _tmp25_);
#line 57 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp27_ = _g_object_ref0 (_tmp26_);
#line 57 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					domain = _tmp27_;
#line 59 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp28_ = ontologies;
#line 59 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp30_ = tracker_ontologies_get_properties (_tmp28_, &_tmp29_);
#line 1054 "tracker-sparql-pattern.c"
					{
						TrackerProperty** prop_collection = NULL;
						gint prop_collection_length1 = 0;
						gint _prop_collection_size_ = 0;
						gint prop_it = 0;
#line 59 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						prop_collection = _tmp30_;
#line 59 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						prop_collection_length1 = _tmp29_;
#line 59 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						for (prop_it = 0; prop_it < _tmp29_; prop_it = prop_it + 1) {
#line 1066 "tracker-sparql-pattern.c"
							TrackerProperty* _tmp31_;
							TrackerProperty* prop = NULL;
#line 59 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp31_ = _g_object_ref0 (prop_collection[prop_it]);
#line 59 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							prop = _tmp31_;
#line 1073 "tracker-sparql-pattern.c"
							{
								TrackerProperty* _tmp32_;
								TrackerClass* _tmp33_;
								TrackerClass* _tmp34_;
								TrackerClass* _tmp35_;
#line 60 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp32_ = prop;
#line 60 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp33_ = tracker_property_get_domain (_tmp32_);
#line 60 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp34_ = _tmp33_;
#line 60 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp35_ = domain;
#line 60 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_tmp34_ == _tmp35_) {
#line 1089 "tracker-sparql-pattern.c"
									gboolean _tmp36_;
									GString* _tmp38_;
									TrackerProperty* _tmp39_;
									const gchar* _tmp40_;
									const gchar* _tmp41_;
									GString* _tmp42_;
									TrackerProperty* _tmp43_;
									const gchar* _tmp44_;
									const gchar* _tmp45_;
									gchar* _tmp46_;
									gchar* _tmp47_;
									TrackerProperty* _tmp48_;
									TrackerPropertyType _tmp49_;
									TrackerPropertyType _tmp50_;
									GString* _tmp51_;
									gboolean _tmp52_;
									GString* _tmp57_;
									TrackerProperty* _tmp58_;
									const gchar* _tmp59_;
									const gchar* _tmp60_;
									GString* _tmp61_;
									TrackerSparqlLiteralBinding* binding = NULL;
									TrackerSparqlLiteralBinding* _tmp62_;
									TrackerSparqlLiteralBinding* _tmp63_;
									gint _tmp64_;
									gchar* _tmp65_;
									TrackerSparqlLiteralBinding* _tmp66_;
									TrackerSparqlLiteralBinding* _tmp67_;
									TrackerSparqlLiteralBinding* _tmp68_;
#line 61 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp36_ = first;
#line 61 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									if (_tmp36_) {
#line 62 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										first = FALSE;
#line 1125 "tracker-sparql-pattern.c"
									} else {
										GString* _tmp37_;
#line 64 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp37_ = sql;
#line 64 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_string_append (_tmp37_, " UNION ALL ");
#line 1132 "tracker-sparql-pattern.c"
									}
#line 66 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp38_ = sql;
#line 66 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp39_ = prop;
#line 66 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp40_ = tracker_property_get_uri (_tmp39_);
#line 66 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp41_ = _tmp40_;
#line 66 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append_printf (_tmp38_, "SELECT ID, (SELECT ID FROM Resource WHERE Uri = '%s') AS \"predicate\"" \
", ", _tmp41_);
#line 68 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp42_ = sql;
#line 68 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp43_ = prop;
#line 68 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp44_ = tracker_property_get_name (_tmp43_);
#line 68 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp45_ = _tmp44_;
#line 68 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp46_ = g_strdup_printf ("\"%s\"", _tmp45_);
#line 68 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp47_ = _tmp46_;
#line 68 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp48_ = prop;
#line 68 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp49_ = tracker_property_get_data_type (_tmp48_);
#line 68 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp50_ = _tmp49_;
#line 68 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									tracker_sparql_expression_append_expression_as_string (_tmp42_, _tmp47_, _tmp50_);
#line 68 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_free0 (_tmp47_);
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp51_ = sql;
#line 70 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append (_tmp51_, " AS \"object\"");
#line 71 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp52_ = self->return_graph;
#line 71 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									if (_tmp52_) {
#line 1174 "tracker-sparql-pattern.c"
										GString* _tmp53_;
										TrackerProperty* _tmp54_;
										const gchar* _tmp55_;
										const gchar* _tmp56_;
#line 72 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp53_ = sql;
#line 72 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp54_ = prop;
#line 72 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp55_ = tracker_property_get_name (_tmp54_);
#line 72 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp56_ = _tmp55_;
#line 72 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_string_append_printf (_tmp53_, ", \"%s:graph\" AS \"graph\"", _tmp56_);
#line 1189 "tracker-sparql-pattern.c"
									}
#line 74 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp57_ = sql;
#line 74 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp58_ = prop;
#line 74 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp59_ = tracker_property_get_table_name (_tmp58_);
#line 74 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp60_ = _tmp59_;
#line 74 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append_printf (_tmp57_, " FROM \"%s\"", _tmp60_);
#line 76 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp61_ = sql;
#line 76 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append (_tmp61_, " WHERE ID = ?");
#line 78 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp62_ = tracker_sparql_literal_binding_new ();
#line 78 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									binding = _tmp62_;
#line 79 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp63_ = binding;
#line 79 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp64_ = subject_id;
#line 79 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp65_ = g_strdup_printf ("%i", _tmp64_);
#line 79 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_free0 (_tmp63_->literal);
#line 79 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp63_->literal = _tmp65_;
#line 80 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp66_ = binding;
#line 80 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									((TrackerSparqlDataBinding*) _tmp66_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp67_ = binding;
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp68_ = _g_object_ref0 (_tmp67_);
#line 81 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									query->bindings = g_list_append (query->bindings, _tmp68_);
#line 60 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_object_unref0 (binding);
#line 1231 "tracker-sparql-pattern.c"
								}
#line 59 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_object_unref0 (prop);
#line 1235 "tracker-sparql-pattern.c"
							}
						}
					}
#line 56 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (domain);
#line 1241 "tracker-sparql-pattern.c"
				}
			}
#line 87 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp69_ = first;
#line 87 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp69_) {
#line 1248 "tracker-sparql-pattern.c"
				GString* _tmp70_;
#line 89 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp70_ = sql;
#line 89 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_string_append (_tmp70_, "SELECT NULL AS ID, NULL AS \"predicate\", NULL AS \"object\", NULL AS " \
"\"graph\"");
#line 1254 "tracker-sparql-pattern.c"
			}
#line 41 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (cursor);
#line 1258 "tracker-sparql-pattern.c"
		} else {
			const gchar* _tmp71_;
#line 91 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp71_ = self->object;
#line 91 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp71_ != NULL) {
#line 1265 "tracker-sparql-pattern.c"
				gint object_id = 0;
				TrackerDataManager* _tmp72_;
				TrackerDBInterface* _tmp73_;
				const gchar* _tmp74_;
				TrackerDBStatement* stmt = NULL;
				TrackerDBInterface* _tmp75_;
				TrackerDBStatement* _tmp76_;
				TrackerDBStatement* _tmp77_;
				gint _tmp78_;
				TrackerDBCursor* cursor = NULL;
				TrackerDBStatement* _tmp79_;
				TrackerDBCursor* _tmp80_;
				gboolean first = FALSE;
				TrackerDBCursor* _tmp81_;
				gboolean _tmp122_;
#line 93 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp72_ = self->priv->manager;
#line 93 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp73_ = iface;
#line 93 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp74_ = self->object;
#line 93 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				object_id = tracker_data_query_resource_id (_tmp72_, _tmp73_, _tmp74_);
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp75_ = iface;
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp76_ = tracker_db_interface_create_statement (_tmp75_, TRACKER_DB_STATEMENT_CACHE_TYPE_SELECT, &_inner_error_, "SELECT (SELECT Uri FROM Resource WHERE ID = \"rdf:type\") " "FROM \"rdfs:Resource_rdf:type\" WHERE ID = ?");
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				stmt = _tmp76_;
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (iface);
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (ontologies);
#line 95 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (sql);
#line 1303 "tracker-sparql-pattern.c"
					goto __catch0_g_error;
				}
#line 98 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp77_ = stmt;
#line 98 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp78_ = object_id;
#line 98 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_db_statement_bind_int (_tmp77_, 0, _tmp78_);
#line 99 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp79_ = stmt;
#line 99 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp80_ = tracker_db_statement_start_cursor (_tmp79_, &_inner_error_);
#line 99 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				cursor = _tmp80_;
#line 99 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 99 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (stmt);
#line 99 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (iface);
#line 99 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (ontologies);
#line 99 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (sql);
#line 1328 "tracker-sparql-pattern.c"
					goto __catch0_g_error;
				}
#line 101 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				first = TRUE;
#line 102 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp81_ = cursor;
#line 102 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp81_ != NULL) {
#line 103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					while (TRUE) {
#line 1339 "tracker-sparql-pattern.c"
						gboolean _tmp82_ = FALSE;
						TrackerDBCursor* _tmp83_;
						TrackerClass* range = NULL;
						TrackerOntologies* _tmp84_;
						TrackerDBCursor* _tmp85_;
						const gchar* _tmp86_;
						TrackerClass* _tmp87_;
						TrackerClass* _tmp88_;
						TrackerOntologies* _tmp89_;
						gint _tmp90_;
						TrackerProperty** _tmp91_;
#line 103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp83_ = cursor;
#line 103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp82_ = tracker_sparql_cursor_next ((TrackerSparqlCursor*) _tmp83_, NULL, &_inner_error_);
#line 103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (cursor);
#line 103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (stmt);
#line 103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (iface);
#line 103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (ontologies);
#line 103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (sql);
#line 1367 "tracker-sparql-pattern.c"
							goto __catch0_g_error;
						}
#line 103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (!_tmp82_) {
#line 103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							break;
#line 1374 "tracker-sparql-pattern.c"
						}
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp84_ = ontologies;
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp85_ = cursor;
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp86_ = tracker_sparql_cursor_get_string ((TrackerSparqlCursor*) _tmp85_, 0, NULL);
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp87_ = tracker_ontologies_get_class_by_uri (_tmp84_, _tmp86_);
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp88_ = _g_object_ref0 (_tmp87_);
#line 104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						range = _tmp88_;
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp89_ = ontologies;
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp91_ = tracker_ontologies_get_properties (_tmp89_, &_tmp90_);
#line 1392 "tracker-sparql-pattern.c"
						{
							TrackerProperty** prop_collection = NULL;
							gint prop_collection_length1 = 0;
							gint _prop_collection_size_ = 0;
							gint prop_it = 0;
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							prop_collection = _tmp91_;
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							prop_collection_length1 = _tmp90_;
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							for (prop_it = 0; prop_it < _tmp90_; prop_it = prop_it + 1) {
#line 1404 "tracker-sparql-pattern.c"
								TrackerProperty* _tmp92_;
								TrackerProperty* prop = NULL;
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp92_ = _g_object_ref0 (prop_collection[prop_it]);
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								prop = _tmp92_;
#line 1411 "tracker-sparql-pattern.c"
								{
									TrackerProperty* _tmp93_;
									TrackerClass* _tmp94_;
									TrackerClass* _tmp95_;
									TrackerClass* _tmp96_;
#line 107 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp93_ = prop;
#line 107 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp94_ = tracker_property_get_range (_tmp93_);
#line 107 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp95_ = _tmp94_;
#line 107 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp96_ = range;
#line 107 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									if (_tmp95_ == _tmp96_) {
#line 1427 "tracker-sparql-pattern.c"
										gboolean _tmp97_;
										GString* _tmp99_;
										TrackerProperty* _tmp100_;
										const gchar* _tmp101_;
										const gchar* _tmp102_;
										GString* _tmp103_;
										TrackerProperty* _tmp104_;
										const gchar* _tmp105_;
										const gchar* _tmp106_;
										gchar* _tmp107_;
										gchar* _tmp108_;
										TrackerProperty* _tmp109_;
										TrackerPropertyType _tmp110_;
										TrackerPropertyType _tmp111_;
										GString* _tmp112_;
										gboolean _tmp113_;
										GString* _tmp118_;
										TrackerProperty* _tmp119_;
										const gchar* _tmp120_;
										const gchar* _tmp121_;
#line 108 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp97_ = first;
#line 108 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										if (_tmp97_) {
#line 109 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											first = FALSE;
#line 1454 "tracker-sparql-pattern.c"
										} else {
											GString* _tmp98_;
#line 111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp98_ = sql;
#line 111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											g_string_append (_tmp98_, " UNION ALL ");
#line 1461 "tracker-sparql-pattern.c"
										}
#line 113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp99_ = sql;
#line 113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp100_ = prop;
#line 113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp101_ = tracker_property_get_uri (_tmp100_);
#line 113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp102_ = _tmp101_;
#line 113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_string_append_printf (_tmp99_, "SELECT ID, (SELECT ID FROM Resource WHERE Uri = '%s') AS \"predicate\"" \
", ", _tmp102_);
#line 115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp103_ = sql;
#line 115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp104_ = prop;
#line 115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp105_ = tracker_property_get_name (_tmp104_);
#line 115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp106_ = _tmp105_;
#line 115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp107_ = g_strdup_printf ("\"%s\"", _tmp106_);
#line 115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp108_ = _tmp107_;
#line 115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp109_ = prop;
#line 115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp110_ = tracker_property_get_data_type (_tmp109_);
#line 115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp111_ = _tmp110_;
#line 115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										tracker_sparql_expression_append_expression_as_string (_tmp103_, _tmp108_, _tmp111_);
#line 115 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_g_free0 (_tmp108_);
#line 117 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp112_ = sql;
#line 117 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_string_append (_tmp112_, " AS \"object\"");
#line 118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp113_ = self->return_graph;
#line 118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										if (_tmp113_) {
#line 1503 "tracker-sparql-pattern.c"
											GString* _tmp114_;
											TrackerProperty* _tmp115_;
											const gchar* _tmp116_;
											const gchar* _tmp117_;
#line 119 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp114_ = sql;
#line 119 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp115_ = prop;
#line 119 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp116_ = tracker_property_get_name (_tmp115_);
#line 119 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp117_ = _tmp116_;
#line 119 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											g_string_append_printf (_tmp114_, ", \"%s:graph\" AS \"graph\"", _tmp117_);
#line 1518 "tracker-sparql-pattern.c"
										}
#line 121 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp118_ = sql;
#line 121 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp119_ = prop;
#line 121 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp120_ = tracker_property_get_table_name (_tmp119_);
#line 121 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp121_ = _tmp120_;
#line 121 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_string_append_printf (_tmp118_, " FROM \"%s\"", _tmp121_);
#line 1530 "tracker-sparql-pattern.c"
									}
#line 106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_object_unref0 (prop);
#line 1534 "tracker-sparql-pattern.c"
								}
							}
						}
#line 103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (range);
#line 1540 "tracker-sparql-pattern.c"
					}
				}
#line 127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp122_ = first;
#line 127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp122_) {
#line 1547 "tracker-sparql-pattern.c"
					GString* _tmp123_;
#line 129 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp123_ = sql;
#line 129 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (_tmp123_, "SELECT NULL AS ID, NULL AS \"predicate\", NULL AS \"object\", NULL AS " \
"\"graph\"");
#line 1553 "tracker-sparql-pattern.c"
				}
#line 91 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (cursor);
#line 91 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (stmt);
#line 1559 "tracker-sparql-pattern.c"
			} else {
				TrackerClass* _tmp124_;
#line 131 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp124_ = self->domain;
#line 131 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp124_ != NULL) {
#line 1566 "tracker-sparql-pattern.c"
					gboolean first = FALSE;
					TrackerOntologies* _tmp125_;
					gint _tmp126_;
					TrackerProperty** _tmp127_;
#line 133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					first = TRUE;
#line 134 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp125_ = ontologies;
#line 134 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp127_ = tracker_ontologies_get_properties (_tmp125_, &_tmp126_);
#line 1577 "tracker-sparql-pattern.c"
					{
						TrackerProperty** prop_collection = NULL;
						gint prop_collection_length1 = 0;
						gint _prop_collection_size_ = 0;
						gint prop_it = 0;
#line 134 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						prop_collection = _tmp127_;
#line 134 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						prop_collection_length1 = _tmp126_;
#line 134 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						for (prop_it = 0; prop_it < _tmp126_; prop_it = prop_it + 1) {
#line 1589 "tracker-sparql-pattern.c"
							TrackerProperty* _tmp128_;
							TrackerProperty* prop = NULL;
#line 134 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp128_ = _g_object_ref0 (prop_collection[prop_it]);
#line 134 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							prop = _tmp128_;
#line 1596 "tracker-sparql-pattern.c"
							{
								TrackerProperty* _tmp129_;
								TrackerClass* _tmp130_;
								TrackerClass* _tmp131_;
								TrackerClass* _tmp132_;
#line 135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp129_ = prop;
#line 135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp130_ = tracker_property_get_domain (_tmp129_);
#line 135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp131_ = _tmp130_;
#line 135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp132_ = self->domain;
#line 135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_tmp131_ == _tmp132_) {
#line 1612 "tracker-sparql-pattern.c"
									gboolean _tmp133_;
									GString* _tmp135_;
									TrackerProperty* _tmp136_;
									const gchar* _tmp137_;
									const gchar* _tmp138_;
									GString* _tmp139_;
									TrackerProperty* _tmp140_;
									const gchar* _tmp141_;
									const gchar* _tmp142_;
									gchar* _tmp143_;
									gchar* _tmp144_;
									TrackerProperty* _tmp145_;
									TrackerPropertyType _tmp146_;
									TrackerPropertyType _tmp147_;
									GString* _tmp148_;
									gboolean _tmp149_;
									GString* _tmp154_;
									TrackerProperty* _tmp155_;
									const gchar* _tmp156_;
									const gchar* _tmp157_;
#line 136 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp133_ = first;
#line 136 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									if (_tmp133_) {
#line 137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										first = FALSE;
#line 1639 "tracker-sparql-pattern.c"
									} else {
										GString* _tmp134_;
#line 139 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp134_ = sql;
#line 139 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_string_append (_tmp134_, " UNION ALL ");
#line 1646 "tracker-sparql-pattern.c"
									}
#line 141 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp135_ = sql;
#line 141 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp136_ = prop;
#line 141 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp137_ = tracker_property_get_uri (_tmp136_);
#line 141 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp138_ = _tmp137_;
#line 141 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append_printf (_tmp135_, "SELECT ID, (SELECT ID FROM Resource WHERE Uri = '%s') AS \"predicate\"" \
", ", _tmp138_);
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp139_ = sql;
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp140_ = prop;
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp141_ = tracker_property_get_name (_tmp140_);
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp142_ = _tmp141_;
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp143_ = g_strdup_printf ("\"%s\"", _tmp142_);
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp144_ = _tmp143_;
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp145_ = prop;
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp146_ = tracker_property_get_data_type (_tmp145_);
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp147_ = _tmp146_;
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									tracker_sparql_expression_append_expression_as_string (_tmp139_, _tmp144_, _tmp147_);
#line 143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_free0 (_tmp144_);
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp148_ = sql;
#line 145 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append (_tmp148_, " AS \"object\"");
#line 146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp149_ = self->return_graph;
#line 146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									if (_tmp149_) {
#line 1688 "tracker-sparql-pattern.c"
										GString* _tmp150_;
										TrackerProperty* _tmp151_;
										const gchar* _tmp152_;
										const gchar* _tmp153_;
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp150_ = sql;
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp151_ = prop;
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp152_ = tracker_property_get_name (_tmp151_);
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp153_ = _tmp152_;
#line 147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_string_append_printf (_tmp150_, ", \"%s:graph\" AS \"graph\"", _tmp153_);
#line 1703 "tracker-sparql-pattern.c"
									}
#line 149 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp154_ = sql;
#line 149 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp155_ = prop;
#line 149 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp156_ = tracker_property_get_table_name (_tmp155_);
#line 149 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp157_ = _tmp156_;
#line 149 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append_printf (_tmp154_, " FROM \"%s\"", _tmp157_);
#line 1715 "tracker-sparql-pattern.c"
								}
#line 134 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_object_unref0 (prop);
#line 1719 "tracker-sparql-pattern.c"
							}
						}
					}
				} else {
					GError* _tmp158_;
#line 154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp158_ = tracker_sparql_query_get_internal_error (query, "Unrestricted predicate variables not supported");
#line 154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_inner_error_ = _tmp158_;
#line 154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (iface);
#line 154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (ontologies);
#line 154 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (sql);
#line 1735 "tracker-sparql-pattern.c"
					goto __catch0_g_error;
				}
			}
		}
#line 156 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp159_ = sql;
#line 156 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp160_ = _tmp159_->str;
#line 156 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp161_ = g_strdup (_tmp160_);
#line 156 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		result = _tmp161_;
#line 156 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (iface);
#line 156 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (ontologies);
#line 156 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_string_free0 (sql);
#line 156 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		return result;
#line 1756 "tracker-sparql-pattern.c"
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GError* _tmp162_;
		const gchar* _tmp163_;
		GError* _tmp164_;
#line 36 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		e = _inner_error_;
#line 36 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_inner_error_ = NULL;
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp162_ = e;
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp163_ = _tmp162_->message;
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp164_ = g_error_new_literal (TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_INTERNAL, _tmp163_);
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_inner_error_ = _tmp164_;
#line 158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_error_free0 (e);
#line 1779 "tracker-sparql-pattern.c"
		goto __finally0;
	}
	__finally0:
#line 36 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 36 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_propagate_error (error, _inner_error_);
#line 36 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		return NULL;
#line 1789 "tracker-sparql-pattern.c"
	} else {
#line 36 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 36 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_clear_error (&_inner_error_);
#line 36 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		return NULL;
#line 1797 "tracker-sparql-pattern.c"
	}
}


static void
tracker_sparql_predicate_variable_class_init (TrackerSparqlPredicateVariableClass * klass)
{
#line 22 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_predicate_variable_parent_class = g_type_class_peek_parent (klass);
#line 22 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_type_class_add_private (klass, sizeof (TrackerSparqlPredicateVariablePrivate));
#line 22 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	G_OBJECT_CLASS (klass)->finalize = tracker_sparql_predicate_variable_finalize;
#line 1811 "tracker-sparql-pattern.c"
}


static void
tracker_sparql_predicate_variable_instance_init (TrackerSparqlPredicateVariable * self)
{
#line 22 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->priv = TRACKER_SPARQL_PREDICATE_VARIABLE_GET_PRIVATE (self);
#line 1820 "tracker-sparql-pattern.c"
}


static void
tracker_sparql_predicate_variable_finalize (GObject * obj)
{
	TrackerSparqlPredicateVariable * self;
#line 22 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TRACKER_SPARQL_TYPE_PREDICATE_VARIABLE, TrackerSparqlPredicateVariable);
#line 23 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_free0 (self->subject);
#line 24 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_free0 (self->object);
#line 27 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_object_unref0 (self->domain);
#line 29 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_object_unref0 (self->priv->manager);
#line 22 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	G_OBJECT_CLASS (tracker_sparql_predicate_variable_parent_class)->finalize (obj);
#line 1840 "tracker-sparql-pattern.c"
}


GType
tracker_sparql_predicate_variable_get_type (void)
{
	static volatile gsize tracker_sparql_predicate_variable_type_id__volatile = 0;
	if (g_once_init_enter (&tracker_sparql_predicate_variable_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (TrackerSparqlPredicateVariableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tracker_sparql_predicate_variable_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TrackerSparqlPredicateVariable), 0, (GInstanceInitFunc) tracker_sparql_predicate_variable_instance_init, NULL };
		GType tracker_sparql_predicate_variable_type_id;
		tracker_sparql_predicate_variable_type_id = g_type_register_static (G_TYPE_OBJECT, "TrackerSparqlPredicateVariable", &g_define_type_info, 0);
		g_once_init_leave (&tracker_sparql_predicate_variable_type_id__volatile, tracker_sparql_predicate_variable_type_id);
	}
	return tracker_sparql_predicate_variable_type_id__volatile;
}


TrackerSparqlPattern*
tracker_sparql_pattern_construct (GType object_type,
                                  TrackerSparqlQuery* query)
{
	TrackerSparqlPattern * self = NULL;
	TrackerDataManager* _tmp0_;
	TrackerDataManager* _tmp1_;
	TrackerSparqlExpression* _tmp2_;
#line 185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (query != NULL, NULL);
#line 185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self = (TrackerSparqlPattern*) g_object_new (object_type, NULL);
#line 186 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->priv->query = query;
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = query->manager;
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_object_unref0 (self->priv->manager);
#line 187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->priv->manager = _tmp1_;
#line 188 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp2_ = query->expression;
#line 188 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->priv->expression = _tmp2_;
#line 185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return self;
#line 1886 "tracker-sparql-pattern.c"
}


TrackerSparqlPattern*
tracker_sparql_pattern_new (TrackerSparqlQuery* query)
{
#line 185 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return tracker_sparql_pattern_construct (TRACKER_SPARQL_TYPE_PATTERN, query);
#line 1895 "tracker-sparql-pattern.c"
}


static inline gboolean
tracker_sparql_pattern_next (TrackerSparqlPattern* self,
                             GError** error)
{
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	TrackerSparqlQuery* _tmp1_;
	GError * _inner_error_ = NULL;
#line 196 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = self->priv->query;
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = tracker_sparql_query_next (_tmp1_, &_inner_error_);
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1917 "tracker-sparql-pattern.c"
			gboolean _tmp2_ = FALSE;
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return _tmp2_;
#line 1923 "tracker-sparql-pattern.c"
		} else {
			gboolean _tmp3_ = FALSE;
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return _tmp3_;
#line 1932 "tracker-sparql-pattern.c"
		}
	}
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	result = _tmp0_;
#line 197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return result;
#line 1939 "tracker-sparql-pattern.c"
}


static inline TrackerSparqlTokenType
tracker_sparql_pattern_current (TrackerSparqlPattern* self)
{
	TrackerSparqlTokenType result = 0;
	TrackerSparqlQuery* _tmp0_;
#line 200 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = self->priv->query;
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	result = tracker_sparql_query_current (_tmp0_);
#line 201 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return result;
#line 1956 "tracker-sparql-pattern.c"
}


static inline gboolean
tracker_sparql_pattern_accept (TrackerSparqlPattern* self,
                               TrackerSparqlTokenType type,
                               GError** error)
{
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	TrackerSparqlQuery* _tmp1_;
	GError * _inner_error_ = NULL;
#line 204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = self->priv->query;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = tracker_sparql_query_accept (_tmp1_, type, &_inner_error_);
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1979 "tracker-sparql-pattern.c"
			gboolean _tmp2_ = FALSE;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return _tmp2_;
#line 1985 "tracker-sparql-pattern.c"
		} else {
			gboolean _tmp3_ = FALSE;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return _tmp3_;
#line 1994 "tracker-sparql-pattern.c"
		}
	}
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	result = _tmp0_;
#line 205 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return result;
#line 2001 "tracker-sparql-pattern.c"
}


static inline void
tracker_sparql_pattern_optional (TrackerSparqlPattern* self,
                                 TrackerSparqlTokenType type,
                                 GError** error)
{
	TrackerSparqlQuery* _tmp0_;
	GError * _inner_error_ = NULL;
#line 208 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = self->priv->query;
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_query_optional (_tmp0_, type, &_inner_error_);
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 2026 "tracker-sparql-pattern.c"
		} else {
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 2034 "tracker-sparql-pattern.c"
		}
	}
}


static GError*
tracker_sparql_pattern_get_error (TrackerSparqlPattern* self,
                                  const gchar* msg)
{
	GError* result = NULL;
	TrackerSparqlQuery* _tmp0_;
	GError* _tmp1_;
#line 212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (msg != NULL, NULL);
#line 213 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = self->priv->query;
#line 213 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = tracker_sparql_query_get_error (_tmp0_, msg);
#line 213 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	result = _tmp1_;
#line 213 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return result;
#line 2059 "tracker-sparql-pattern.c"
}


static gboolean
tracker_sparql_pattern_expect (TrackerSparqlPattern* self,
                               TrackerSparqlTokenType type,
                               GError** error)
{
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	TrackerSparqlQuery* _tmp1_;
	GError * _inner_error_ = NULL;
#line 216 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = self->priv->query;
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = tracker_sparql_query_expect (_tmp1_, type, &_inner_error_);
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 2082 "tracker-sparql-pattern.c"
			gboolean _tmp2_ = FALSE;
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return _tmp2_;
#line 2088 "tracker-sparql-pattern.c"
		} else {
			gboolean _tmp3_ = FALSE;
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %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-pattern.vala"
			g_clear_error (&_inner_error_);
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return _tmp3_;
#line 2097 "tracker-sparql-pattern.c"
		}
	}
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	result = _tmp0_;
#line 217 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return result;
#line 2104 "tracker-sparql-pattern.c"
}


static void
tracker_sparql_pattern_get_location (TrackerSparqlPattern* self,
                                     TrackerSourceLocation* result)
{
	TrackerSparqlQuery* _tmp0_;
	TrackerSourceLocation _tmp1_ = {0};
#line 220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = self->priv->query;
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_query_get_location (_tmp0_, &_tmp1_);
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	*result = _tmp1_;
#line 221 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return;
#line 2124 "tracker-sparql-pattern.c"
}


static void
tracker_sparql_pattern_set_location (TrackerSparqlPattern* self,
                                     TrackerSourceLocation* location)
{
	TrackerSparqlQuery* _tmp0_;
	TrackerSourceLocation _tmp1_;
#line 224 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 224 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (location != NULL);
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = self->priv->query;
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = *location;
#line 225 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_query_set_location (_tmp0_, &_tmp1_);
#line 2144 "tracker-sparql-pattern.c"
}


static gchar*
tracker_sparql_pattern_get_last_string (TrackerSparqlPattern* self,
                                        gint strip)
{
	gchar* result = NULL;
	TrackerSparqlQuery* _tmp0_;
	gchar* _tmp1_;
#line 228 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = self->priv->query;
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = tracker_sparql_query_get_last_string (_tmp0_, strip);
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	result = _tmp1_;
#line 229 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return result;
#line 2165 "tracker-sparql-pattern.c"
}


static void
_g_object_unref0_ (gpointer var)
{
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
#line 2174 "tracker-sparql-pattern.c"
}


static inline void
_g_list_free__g_object_unref0_ (GList* self)
{
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_list_free_full (self, (GDestroyNotify) _g_object_unref0_);
#line 2183 "tracker-sparql-pattern.c"
}


static void
_vala_array_add5 (TrackerPropertyType* * array,
                  int* length,
                  int* size,
                  TrackerPropertyType value)
{
#line 325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if ((*length) == (*size)) {
#line 325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		*array = g_renew (TrackerPropertyType, *array, *size);
#line 2199 "tracker-sparql-pattern.c"
	}
#line 325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	(*array)[(*length)++] = value;
#line 2203 "tracker-sparql-pattern.c"
}


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


static void
_vala_array_add7 (TrackerPropertyType* * array,
                  int* length,
                  int* size,
                  TrackerPropertyType value)
{
#line 337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if ((*length) == (*size)) {
#line 337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		*array = g_renew (TrackerPropertyType, *array, *size);
#line 2241 "tracker-sparql-pattern.c"
	}
#line 337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	(*array)[(*length)++] = value;
#line 2245 "tracker-sparql-pattern.c"
}


TrackerSparqlSelectContext*
tracker_sparql_pattern_translate_select (TrackerSparqlPattern* self,
                                         GString* sql,
                                         gboolean subquery,
                                         gboolean scalar_subquery,
                                         GError** error)
{
	TrackerSparqlSelectContext* result = NULL;
	TrackerSparqlSelectContext* _result_ = NULL;
	TrackerSparqlSelectContext* _tmp8_;
	TrackerPropertyType type = 0;
	GString* pattern_sql = NULL;
	GString* _tmp9_;
	GList* old_bindings = NULL;
	TrackerSparqlQuery* _tmp10_;
	GList* _tmp11_;
	gboolean _tmp12_ = FALSE;
	TrackerSourceLocation select_variables_location = {0};
	TrackerSourceLocation _tmp14_ = {0};
	TrackerSparqlExpression* _tmp15_;
	gboolean _tmp16_ = FALSE;
	TrackerSparqlContext* pattern = NULL;
	GString* _tmp17_;
	TrackerSparqlContext* _tmp18_;
	TrackerSparqlContext* _tmp19_;
	GHashTable* _tmp20_;
	GList* _tmp21_;
	TrackerSourceLocation after_where = {0};
	TrackerSourceLocation _tmp27_ = {0};
	TrackerSourceLocation _tmp28_;
	TrackerSparqlContext* _tmp29_;
	TrackerSparqlContext* _tmp30_;
	GHashTable* _tmp31_;
	GList* _tmp32_;
	GList* where_bindings = NULL;
	TrackerSparqlQuery* _tmp42_;
	GList* _tmp43_;
	TrackerSparqlQuery* _tmp44_;
	GList* _tmp45_;
	gboolean first = FALSE;
	gboolean _tmp46_ = FALSE;
	gboolean _tmp87_ = FALSE;
	gboolean _tmp88_;
	GList* _tmp96_;
	gboolean _tmp101_;
	GString* _tmp102_;
	const gchar* _tmp103_;
	TrackerSourceLocation _tmp104_;
	gboolean _tmp105_ = FALSE;
	gboolean _tmp117_ = FALSE;
	gint limit = 0;
	gint offset = 0;
	gboolean _tmp125_ = FALSE;
	gint _tmp137_;
	gboolean _tmp164_ = FALSE;
	gboolean _tmp165_ = FALSE;
	gboolean _tmp166_;
	TrackerSparqlContext* _tmp183_;
	TrackerSparqlContext* _tmp184_;
	TrackerSparqlContext* _tmp185_;
	TrackerSparqlSelectContext* _tmp186_;
	TrackerPropertyType _tmp187_;
	GError * _inner_error_ = NULL;
#line 257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (sql != NULL, NULL);
#line 260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (scalar_subquery) {
#line 2318 "tracker-sparql-pattern.c"
		TrackerSparqlQuery* _tmp0_;
		TrackerSparqlContext* _tmp1_;
		TrackerSparqlContext* _tmp2_;
		TrackerSparqlSelectContext* _tmp3_;
#line 261 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp0_ = self->priv->query;
#line 261 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp1_ = tracker_sparql_pattern_get_context (self);
#line 261 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp2_ = _tmp1_;
#line 261 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp3_ = tracker_sparql_select_context_new_subquery (_tmp0_, _tmp2_);
#line 261 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tracker_sparql_context_unref0 (_result_);
#line 261 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_result_ = _tmp3_;
#line 2335 "tracker-sparql-pattern.c"
	} else {
		TrackerSparqlQuery* _tmp4_;
		TrackerSparqlContext* _tmp5_;
		TrackerSparqlContext* _tmp6_;
		TrackerSparqlSelectContext* _tmp7_;
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp4_ = self->priv->query;
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp5_ = tracker_sparql_pattern_get_context (self);
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp6_ = _tmp5_;
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp7_ = tracker_sparql_select_context_new (_tmp4_, _tmp6_);
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tracker_sparql_context_unref0 (_result_);
#line 263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_result_ = _tmp7_;
#line 2353 "tracker-sparql-pattern.c"
	}
#line 265 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp8_ = _result_;
#line 265 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_set_context (self, (TrackerSparqlContext*) _tmp8_);
#line 266 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	type = TRACKER_PROPERTY_TYPE_UNKNOWN;
#line 268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp9_ = g_string_new ("");
#line 268 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	pattern_sql = _tmp9_;
#line 269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp10_ = self->priv->query;
#line 269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp11_ = _tmp10_->bindings;
#line 269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp10_->bindings = NULL;
#line 269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	old_bindings = _tmp11_;
#line 271 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_string_append (sql, "SELECT ");
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_SELECT, &_inner_error_);
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 2391 "tracker-sparql-pattern.c"
		} else {
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %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-pattern.vala"
			g_clear_error (&_inner_error_);
#line 273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 2405 "tracker-sparql-pattern.c"
		}
	}
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp12_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DISTINCT, &_inner_error_);
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 2424 "tracker-sparql-pattern.c"
		} else {
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 2438 "tracker-sparql-pattern.c"
		}
	}
#line 275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp12_) {
#line 276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append (sql, "DISTINCT ");
#line 2445 "tracker-sparql-pattern.c"
	} else {
		gboolean _tmp13_ = FALSE;
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp13_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_REDUCED, &_inner_error_);
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 2464 "tracker-sparql-pattern.c"
			} else {
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %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-pattern.vala"
				g_clear_error (&_inner_error_);
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 2478 "tracker-sparql-pattern.c"
			}
		}
#line 277 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp13_) {
#line 2483 "tracker-sparql-pattern.c"
		}
	}
#line 281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_get_location (self, &_tmp14_);
#line 281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	select_variables_location = _tmp14_;
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp15_ = self->priv->expression;
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_expression_skip_select_variables (_tmp15_, &_inner_error_);
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 2508 "tracker-sparql-pattern.c"
		} else {
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %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-pattern.vala"
			g_clear_error (&_inner_error_);
#line 282 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 2522 "tracker-sparql-pattern.c"
		}
	}
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp16_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_FROM, &_inner_error_);
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 2541 "tracker-sparql-pattern.c"
		} else {
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 2555 "tracker-sparql-pattern.c"
		}
	}
#line 284 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp16_) {
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_NAMED, &_inner_error_);
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 2576 "tracker-sparql-pattern.c"
			} else {
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 285 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 2590 "tracker-sparql-pattern.c"
			}
		}
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_IRI_REF, &_inner_error_);
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 2609 "tracker-sparql-pattern.c"
			} else {
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 2623 "tracker-sparql-pattern.c"
			}
		}
	}
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_optional (self, TRACKER_SPARQL_TOKEN_TYPE_WHERE, &_inner_error_);
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 2643 "tracker-sparql-pattern.c"
		} else {
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 2657 "tracker-sparql-pattern.c"
		}
	}
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp17_ = pattern_sql;
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp18_ = tracker_sparql_pattern_translate_group_graph_pattern (self, _tmp17_, &_inner_error_);
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	pattern = _tmp18_;
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 2680 "tracker-sparql-pattern.c"
		} else {
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 2694 "tracker-sparql-pattern.c"
		}
	}
#line 292 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp19_ = pattern;
#line 292 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp20_ = _tmp19_->var_set;
#line 292 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp21_ = g_hash_table_get_keys (_tmp20_);
#line 2703 "tracker-sparql-pattern.c"
	{
		GList* key_collection = NULL;
		GList* key_it = NULL;
#line 292 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		key_collection = _tmp21_;
#line 292 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		for (key_it = key_collection; key_it != NULL; key_it = key_it->next) {
#line 2711 "tracker-sparql-pattern.c"
			TrackerSparqlVariable* key = NULL;
#line 292 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			key = (TrackerSparqlVariable*) key_it->data;
#line 2715 "tracker-sparql-pattern.c"
			{
				TrackerSparqlContext* _tmp22_;
				TrackerSparqlContext* _tmp23_;
				GHashTable* _tmp24_;
				TrackerSparqlVariable* _tmp25_;
				TrackerSparqlVariable* _tmp26_;
#line 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp22_ = tracker_sparql_pattern_get_context (self);
#line 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp23_ = _tmp22_;
#line 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp24_ = _tmp23_->var_set;
#line 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp25_ = key;
#line 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp26_ = _g_object_ref0 (_tmp25_);
#line 293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_hash_table_insert (_tmp24_, _tmp26_, (gpointer) ((gintptr) ((gint) TRACKER_SPARQL_VARIABLE_STATE_BOUND)));
#line 2734 "tracker-sparql-pattern.c"
			}
		}
#line 292 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_list_free0 (key_collection);
#line 2739 "tracker-sparql-pattern.c"
	}
#line 297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_get_location (self, &_tmp27_);
#line 297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	after_where = _tmp27_;
#line 298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp28_ = select_variables_location;
#line 298 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_set_location (self, &_tmp28_);
#line 301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp29_ = tracker_sparql_pattern_get_context (self);
#line 301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp30_ = _tmp29_;
#line 301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp31_ = _tmp30_->var_set;
#line 301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp32_ = g_hash_table_get_keys (_tmp31_);
#line 2757 "tracker-sparql-pattern.c"
	{
		GList* variable_collection = NULL;
		GList* variable_it = NULL;
#line 301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		variable_collection = _tmp32_;
#line 301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		for (variable_it = variable_collection; variable_it != NULL; variable_it = variable_it->next) {
#line 2765 "tracker-sparql-pattern.c"
			TrackerSparqlVariable* variable = NULL;
#line 301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			variable = (TrackerSparqlVariable*) variable_it->data;
#line 2769 "tracker-sparql-pattern.c"
			{
				TrackerSparqlVariable* _tmp33_;
				TrackerSparqlVariableBinding* _tmp34_;
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp33_ = variable;
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp34_ = _tmp33_->binding;
#line 302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp34_ == NULL) {
#line 2779 "tracker-sparql-pattern.c"
					TrackerSparqlVariable* _tmp35_;
					const gchar* _tmp36_;
					const gchar* _tmp37_;
					gchar* _tmp38_;
					gchar* _tmp39_;
					GError* _tmp40_;
					GError* _tmp41_;
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp35_ = variable;
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp36_ = tracker_sparql_variable_get_name (_tmp35_);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp37_ = _tmp36_;
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp38_ = g_strdup_printf ("use of undefined variable `%s'", _tmp37_);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp39_ = _tmp38_;
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp40_ = tracker_sparql_pattern_get_error (self, _tmp39_);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp41_ = _tmp40_;
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp39_);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_inner_error_ = _tmp41_;
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_list_free0 (variable_collection);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (pattern);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						__g_list_free__g_object_unref0_0 (old_bindings);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_string_free0 (pattern_sql);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 2821 "tracker-sparql-pattern.c"
					} else {
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_list_free0 (variable_collection);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (pattern);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						__g_list_free__g_object_unref0_0 (old_bindings);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_string_free0 (pattern_sql);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 2839 "tracker-sparql-pattern.c"
					}
				}
			}
		}
#line 301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_list_free0 (variable_collection);
#line 2846 "tracker-sparql-pattern.c"
	}
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp42_ = self->priv->query;
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp43_ = _tmp42_->bindings;
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp42_->bindings = NULL;
#line 307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	where_bindings = _tmp43_;
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp44_ = self->priv->query;
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp45_ = old_bindings;
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	old_bindings = NULL;
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	__g_list_free__g_object_unref0_0 (_tmp44_->bindings);
#line 308 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp44_->bindings = _tmp45_;
#line 310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	first = TRUE;
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp46_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_STAR, &_inner_error_);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (where_bindings);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (pattern);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 2888 "tracker-sparql-pattern.c"
		} else {
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (where_bindings);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (pattern);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 2906 "tracker-sparql-pattern.c"
		}
	}
#line 311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp46_) {
#line 2911 "tracker-sparql-pattern.c"
		TrackerSparqlContext* _tmp47_;
		TrackerSparqlContext* _tmp48_;
		GHashTable* _tmp49_;
		GList* _tmp50_;
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp47_ = tracker_sparql_pattern_get_context (self);
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp48_ = _tmp47_;
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp49_ = _tmp48_->var_set;
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp50_ = g_hash_table_get_keys (_tmp49_);
#line 2924 "tracker-sparql-pattern.c"
		{
			GList* variable_collection = NULL;
			GList* variable_it = NULL;
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			variable_collection = _tmp50_;
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			for (variable_it = variable_collection; variable_it != NULL; variable_it = variable_it->next) {
#line 2932 "tracker-sparql-pattern.c"
				TrackerSparqlVariable* variable = NULL;
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				variable = (TrackerSparqlVariable*) variable_it->data;
#line 2936 "tracker-sparql-pattern.c"
				{
					gboolean _tmp51_;
					TrackerSparqlSelectContext* _tmp64_;
					TrackerSparqlSelectContext* _tmp65_;
					TrackerPropertyType* _tmp66_;
					gint _tmp66__length1;
					TrackerSparqlVariable* _tmp67_;
					TrackerSparqlVariableBinding* _tmp68_;
					TrackerPropertyType _tmp69_;
					TrackerSparqlSelectContext* _tmp70_;
					TrackerSparqlSelectContext* _tmp71_;
					gchar** _tmp72_;
					gint _tmp72__length1;
					TrackerSparqlVariable* _tmp73_;
					const gchar* _tmp74_;
					const gchar* _tmp75_;
					gchar* _tmp76_;
#line 313 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp51_ = first;
#line 313 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (!_tmp51_) {
#line 314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append (sql, ", ");
#line 2960 "tracker-sparql-pattern.c"
					} else {
#line 316 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						first = FALSE;
#line 2964 "tracker-sparql-pattern.c"
					}
#line 318 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (subquery) {
#line 2968 "tracker-sparql-pattern.c"
						TrackerSparqlVariable* _tmp52_;
						const gchar* _tmp53_;
						const gchar* _tmp54_;
#line 320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp52_ = variable;
#line 320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp53_ = tracker_sparql_variable_get_sql_expression (_tmp52_);
#line 320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp54_ = _tmp53_;
#line 320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append (sql, _tmp54_);
#line 2980 "tracker-sparql-pattern.c"
					} else {
						TrackerSparqlVariable* _tmp55_;
						const gchar* _tmp56_;
						const gchar* _tmp57_;
						TrackerSparqlVariable* _tmp58_;
						TrackerSparqlVariableBinding* _tmp59_;
						TrackerPropertyType _tmp60_;
						TrackerSparqlVariable* _tmp61_;
						const gchar* _tmp62_;
						const gchar* _tmp63_;
#line 322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp55_ = variable;
#line 322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp56_ = tracker_sparql_variable_get_sql_expression (_tmp55_);
#line 322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp57_ = _tmp56_;
#line 322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp58_ = variable;
#line 322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp59_ = _tmp58_->binding;
#line 322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp60_ = ((TrackerSparqlDataBinding*) _tmp59_)->data_type;
#line 322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						tracker_sparql_expression_append_expression_as_string (sql, _tmp57_, _tmp60_);
#line 323 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp61_ = variable;
#line 323 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp62_ = tracker_sparql_variable_get_name (_tmp61_);
#line 323 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp63_ = _tmp62_;
#line 323 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append_printf (sql, " AS \"%s\"", _tmp63_);
#line 3013 "tracker-sparql-pattern.c"
					}
#line 325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp64_ = _result_;
#line 325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp65_ = _result_;
#line 325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp66_ = _tmp65_->types;
#line 325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp66__length1 = _tmp65_->types_length1;
#line 325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp67_ = variable;
#line 325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp68_ = _tmp67_->binding;
#line 325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp69_ = ((TrackerSparqlDataBinding*) _tmp68_)->data_type;
#line 325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_vala_array_add5 (&_tmp64_->types, &_tmp64_->types_length1, &_tmp64_->_types_size_, _tmp69_);
#line 326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp70_ = _result_;
#line 326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp71_ = _result_;
#line 326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp72_ = _tmp71_->variable_names;
#line 326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp72__length1 = _tmp71_->variable_names_length1;
#line 326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp73_ = variable;
#line 326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp74_ = tracker_sparql_variable_get_name (_tmp73_);
#line 326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp75_ = _tmp74_;
#line 326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp76_ = g_strdup (_tmp75_);
#line 326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_vala_array_add6 (&_tmp70_->variable_names, &_tmp70_->variable_names_length1, &_tmp70_->_variable_names_size_, _tmp76_);
#line 3049 "tracker-sparql-pattern.c"
				}
			}
#line 312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_list_free0 (variable_collection);
#line 3054 "tracker-sparql-pattern.c"
		}
	} else {
		{
			gint i = 0;
#line 329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			i = 0;
#line 3061 "tracker-sparql-pattern.c"
			{
				gboolean _tmp77_ = FALSE;
#line 329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp77_ = TRUE;
#line 329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				while (TRUE) {
#line 3068 "tracker-sparql-pattern.c"
					gint _tmp79_;
					TrackerPropertyType _tmp80_ = 0;
					TrackerSparqlExpression* _tmp81_;
					gint _tmp82_;
					TrackerSparqlSelectContext* _tmp83_;
					TrackerSparqlSelectContext* _tmp84_;
					TrackerPropertyType* _tmp85_;
					gint _tmp85__length1;
					TrackerPropertyType _tmp86_;
#line 329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (!_tmp77_) {
#line 3080 "tracker-sparql-pattern.c"
						gint _tmp78_;
#line 329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp78_ = i;
#line 329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						i = _tmp78_ + 1;
#line 3086 "tracker-sparql-pattern.c"
					}
#line 329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp77_ = FALSE;
#line 330 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					first = FALSE;
#line 332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp79_ = i;
#line 332 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp79_ > 0) {
#line 333 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append (sql, ", ");
#line 3098 "tracker-sparql-pattern.c"
					}
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp81_ = self->priv->expression;
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp82_ = i;
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp80_ = tracker_sparql_expression_translate_select_expression (_tmp81_, sql, subquery, _tmp82_, &_inner_error_);
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							__g_list_free__g_object_unref0_0 (where_bindings);
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (pattern);
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							__g_list_free__g_object_unref0_0 (old_bindings);
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (pattern_sql);
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 3124 "tracker-sparql-pattern.c"
						} else {
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							__g_list_free__g_object_unref0_0 (where_bindings);
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (pattern);
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							__g_list_free__g_object_unref0_0 (old_bindings);
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (pattern_sql);
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 3142 "tracker-sparql-pattern.c"
						}
					}
#line 336 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					type = _tmp80_;
#line 337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp83_ = _result_;
#line 337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp84_ = _result_;
#line 337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp85_ = _tmp84_->types;
#line 337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp85__length1 = _tmp84_->types_length1;
#line 337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp86_ = type;
#line 337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_vala_array_add7 (&_tmp83_->types, &_tmp83_->types_length1, &_tmp83_->_types_size_, _tmp86_);
#line 339 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					switch (tracker_sparql_pattern_current (self)) {
#line 339 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						case TRACKER_SPARQL_TOKEN_TYPE_FROM:
#line 339 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						case TRACKER_SPARQL_TOKEN_TYPE_WHERE:
#line 339 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						case TRACKER_SPARQL_TOKEN_TYPE_OPEN_BRACE:
#line 339 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						case TRACKER_SPARQL_TOKEN_TYPE_GROUP:
#line 339 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						case TRACKER_SPARQL_TOKEN_TYPE_ORDER:
#line 339 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						case TRACKER_SPARQL_TOKEN_TYPE_LIMIT:
#line 339 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						case TRACKER_SPARQL_TOKEN_TYPE_OFFSET:
#line 339 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						case TRACKER_SPARQL_TOKEN_TYPE_EOF:
#line 3177 "tracker-sparql-pattern.c"
						{
#line 348 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							break;
#line 3181 "tracker-sparql-pattern.c"
						}
						default:
						{
#line 350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							continue;
#line 3187 "tracker-sparql-pattern.c"
						}
					}
#line 352 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					break;
#line 3192 "tracker-sparql-pattern.c"
				}
			}
		}
	}
#line 356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp88_ = self->queries_fts_data;
#line 356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp88_) {
#line 3201 "tracker-sparql-pattern.c"
		TrackerSparqlVariable* _tmp89_;
#line 356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp89_ = self->fts_subject;
#line 356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp87_ = _tmp89_ != NULL;
#line 3207 "tracker-sparql-pattern.c"
	} else {
#line 356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp87_ = FALSE;
#line 3211 "tracker-sparql-pattern.c"
	}
#line 356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp87_) {
#line 3215 "tracker-sparql-pattern.c"
		gboolean _tmp90_;
		TrackerSparqlVariable* _tmp91_;
		const gchar* _tmp92_;
		const gchar* _tmp93_;
		gchar* _tmp94_;
		gchar* _tmp95_;
#line 358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp90_ = first;
#line 358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (!_tmp90_) {
#line 359 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_string_append (sql, ", ");
#line 3228 "tracker-sparql-pattern.c"
		} else {
#line 361 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			first = FALSE;
#line 3232 "tracker-sparql-pattern.c"
		}
#line 364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp91_ = self->fts_subject;
#line 364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp92_ = tracker_sparql_variable_get_sql_expression (_tmp91_);
#line 364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp93_ = _tmp92_;
#line 364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp94_ = g_strdup_printf ("%s AS rowid ", _tmp93_);
#line 364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp95_ = _tmp94_;
#line 364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append (sql, _tmp95_);
#line 364 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp95_);
#line 3248 "tracker-sparql-pattern.c"
	}
#line 368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp96_ = where_bindings;
#line 3252 "tracker-sparql-pattern.c"
	{
		GList* binding_collection = NULL;
		GList* binding_it = NULL;
#line 368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		binding_collection = _tmp96_;
#line 368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		for (binding_it = binding_collection; binding_it != NULL; binding_it = binding_it->next) {
#line 3260 "tracker-sparql-pattern.c"
			TrackerSparqlLiteralBinding* _tmp97_;
			TrackerSparqlLiteralBinding* binding = NULL;
#line 368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp97_ = _g_object_ref0 ((TrackerSparqlLiteralBinding*) binding_it->data);
#line 368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			binding = _tmp97_;
#line 3267 "tracker-sparql-pattern.c"
			{
				TrackerSparqlQuery* _tmp98_;
				TrackerSparqlLiteralBinding* _tmp99_;
				TrackerSparqlLiteralBinding* _tmp100_;
#line 369 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp98_ = self->priv->query;
#line 369 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp99_ = binding;
#line 369 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp100_ = _g_object_ref0 (_tmp99_);
#line 369 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp98_->bindings = g_list_append (_tmp98_->bindings, _tmp100_);
#line 368 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (binding);
#line 3282 "tracker-sparql-pattern.c"
			}
		}
	}
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp101_ = first;
#line 372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp101_) {
#line 373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append (sql, "NULL");
#line 3292 "tracker-sparql-pattern.c"
	}
#line 377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_string_append (sql, " FROM (");
#line 378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp102_ = pattern_sql;
#line 378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp103_ = _tmp102_->str;
#line 378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_string_append (sql, _tmp103_);
#line 379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_string_append (sql, ")");
#line 381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp104_ = after_where;
#line 381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_set_location (self, &_tmp104_);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp105_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_GROUP, &_inner_error_);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (where_bindings);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (pattern);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 3328 "tracker-sparql-pattern.c"
		} else {
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (where_bindings);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (pattern);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 3346 "tracker-sparql-pattern.c"
		}
	}
#line 383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp105_) {
#line 3351 "tracker-sparql-pattern.c"
		gboolean first_group = FALSE;
		gboolean _tmp115_ = FALSE;
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_BY, &_inner_error_);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (where_bindings);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (pattern);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 3374 "tracker-sparql-pattern.c"
			} else {
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (where_bindings);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (pattern);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 3392 "tracker-sparql-pattern.c"
			}
		}
#line 385 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append (sql, " GROUP BY ");
#line 386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		first_group = TRUE;
#line 3399 "tracker-sparql-pattern.c"
		{
			gboolean _tmp106_ = FALSE;
#line 387 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp106_ = TRUE;
#line 387 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			while (TRUE) {
#line 3406 "tracker-sparql-pattern.c"
				gboolean _tmp113_;
				TrackerSparqlExpression* _tmp114_;
#line 387 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (!_tmp106_) {
#line 3411 "tracker-sparql-pattern.c"
					gboolean _tmp107_ = FALSE;
					gboolean _tmp108_ = FALSE;
					gboolean _tmp109_ = FALSE;
					gboolean _tmp110_ = FALSE;
					gboolean _tmp111_ = FALSE;
					gboolean _tmp112_ = FALSE;
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_HAVING) {
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp112_ = tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_ORDER;
#line 3422 "tracker-sparql-pattern.c"
					} else {
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp112_ = FALSE;
#line 3426 "tracker-sparql-pattern.c"
					}
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp112_) {
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp111_ = tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_LIMIT;
#line 3432 "tracker-sparql-pattern.c"
					} else {
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp111_ = FALSE;
#line 3436 "tracker-sparql-pattern.c"
					}
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp111_) {
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp110_ = tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_OFFSET;
#line 3442 "tracker-sparql-pattern.c"
					} else {
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp110_ = FALSE;
#line 3446 "tracker-sparql-pattern.c"
					}
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp110_) {
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp109_ = tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_CLOSE_BRACE;
#line 3452 "tracker-sparql-pattern.c"
					} else {
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp109_ = FALSE;
#line 3456 "tracker-sparql-pattern.c"
					}
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp109_) {
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp108_ = tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS;
#line 3462 "tracker-sparql-pattern.c"
					} else {
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp108_ = FALSE;
#line 3466 "tracker-sparql-pattern.c"
					}
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp108_) {
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp107_ = tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_EOF;
#line 3472 "tracker-sparql-pattern.c"
					} else {
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp107_ = FALSE;
#line 3476 "tracker-sparql-pattern.c"
					}
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (!_tmp107_) {
#line 394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						break;
#line 3482 "tracker-sparql-pattern.c"
					}
				}
#line 387 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp106_ = FALSE;
#line 388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp113_ = first_group;
#line 388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp113_) {
#line 389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					first_group = FALSE;
#line 3493 "tracker-sparql-pattern.c"
				} else {
#line 391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (sql, ", ");
#line 3497 "tracker-sparql-pattern.c"
				}
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp114_ = self->priv->expression;
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_expression_translate_expression (_tmp114_, sql, &_inner_error_);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						__g_list_free__g_object_unref0_0 (where_bindings);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (pattern);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						__g_list_free__g_object_unref0_0 (old_bindings);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_string_free0 (pattern_sql);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 3521 "tracker-sparql-pattern.c"
					} else {
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						__g_list_free__g_object_unref0_0 (where_bindings);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (pattern);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						__g_list_free__g_object_unref0_0 (old_bindings);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_string_free0 (pattern_sql);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %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-pattern.vala"
						g_clear_error (&_inner_error_);
#line 393 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 3539 "tracker-sparql-pattern.c"
					}
				}
			}
		}
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp115_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_HAVING, &_inner_error_);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (where_bindings);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (pattern);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 3564 "tracker-sparql-pattern.c"
			} else {
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (where_bindings);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (pattern);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 3582 "tracker-sparql-pattern.c"
			}
		}
#line 396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp115_) {
#line 3587 "tracker-sparql-pattern.c"
			TrackerSparqlExpression* _tmp116_;
#line 397 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_string_append (sql, " HAVING ");
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp116_ = self->priv->expression;
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			tracker_sparql_expression_translate_constraint (_tmp116_, sql, &_inner_error_);
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_propagate_error (error, _inner_error_);
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (where_bindings);
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (pattern);
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (old_bindings);
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (pattern_sql);
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (_result_);
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return NULL;
#line 3613 "tracker-sparql-pattern.c"
				} else {
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (where_bindings);
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (pattern);
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (old_bindings);
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (pattern_sql);
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (_result_);
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_clear_error (&_inner_error_);
#line 398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return NULL;
#line 3631 "tracker-sparql-pattern.c"
				}
			}
		}
	}
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp117_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_ORDER, &_inner_error_);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (where_bindings);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (pattern);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 3656 "tracker-sparql-pattern.c"
		} else {
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (where_bindings);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (pattern);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %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-pattern.vala"
			g_clear_error (&_inner_error_);
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 3674 "tracker-sparql-pattern.c"
		}
	}
#line 402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp117_) {
#line 3679 "tracker-sparql-pattern.c"
		gboolean first_order = FALSE;
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_BY, &_inner_error_);
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (where_bindings);
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (pattern);
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 3701 "tracker-sparql-pattern.c"
			} else {
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (where_bindings);
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (pattern);
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 3719 "tracker-sparql-pattern.c"
			}
		}
#line 404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append (sql, " ORDER BY ");
#line 405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		first_order = TRUE;
#line 3726 "tracker-sparql-pattern.c"
		{
			gboolean _tmp118_ = FALSE;
#line 406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp118_ = TRUE;
#line 406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			while (TRUE) {
#line 3733 "tracker-sparql-pattern.c"
				gboolean _tmp123_;
				TrackerSparqlExpression* _tmp124_;
#line 406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (!_tmp118_) {
#line 3738 "tracker-sparql-pattern.c"
					gboolean _tmp119_ = FALSE;
					gboolean _tmp120_ = FALSE;
					gboolean _tmp121_ = FALSE;
					gboolean _tmp122_ = FALSE;
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_LIMIT) {
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp122_ = tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_OFFSET;
#line 3747 "tracker-sparql-pattern.c"
					} else {
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp122_ = FALSE;
#line 3751 "tracker-sparql-pattern.c"
					}
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp122_) {
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp121_ = tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_CLOSE_BRACE;
#line 3757 "tracker-sparql-pattern.c"
					} else {
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp121_ = FALSE;
#line 3761 "tracker-sparql-pattern.c"
					}
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp121_) {
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp120_ = tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS;
#line 3767 "tracker-sparql-pattern.c"
					} else {
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp120_ = FALSE;
#line 3771 "tracker-sparql-pattern.c"
					}
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp120_) {
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp119_ = tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_EOF;
#line 3777 "tracker-sparql-pattern.c"
					} else {
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp119_ = FALSE;
#line 3781 "tracker-sparql-pattern.c"
					}
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (!_tmp119_) {
#line 413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						break;
#line 3787 "tracker-sparql-pattern.c"
					}
				}
#line 406 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp118_ = FALSE;
#line 407 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp123_ = first_order;
#line 407 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp123_) {
#line 408 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					first_order = FALSE;
#line 3798 "tracker-sparql-pattern.c"
				} else {
#line 410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (sql, ", ");
#line 3802 "tracker-sparql-pattern.c"
				}
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp124_ = self->priv->expression;
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_expression_translate_order_condition (_tmp124_, sql, &_inner_error_);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						__g_list_free__g_object_unref0_0 (where_bindings);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (pattern);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						__g_list_free__g_object_unref0_0 (old_bindings);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_string_free0 (pattern_sql);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 3826 "tracker-sparql-pattern.c"
					} else {
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						__g_list_free__g_object_unref0_0 (where_bindings);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (pattern);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						__g_list_free__g_object_unref0_0 (old_bindings);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_string_free0 (pattern_sql);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 3844 "tracker-sparql-pattern.c"
					}
				}
			}
		}
	}
#line 416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	limit = -1;
#line 417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	offset = -1;
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp125_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_LIMIT, &_inner_error_);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (where_bindings);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (pattern);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 3874 "tracker-sparql-pattern.c"
		} else {
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (where_bindings);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (pattern);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			__g_list_free__g_object_unref0_0 (old_bindings);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_string_free0 (pattern_sql);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 3892 "tracker-sparql-pattern.c"
		}
	}
#line 419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp125_) {
#line 3897 "tracker-sparql-pattern.c"
		gchar* _tmp126_;
		gchar* _tmp127_;
		gboolean _tmp128_ = FALSE;
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_INTEGER, &_inner_error_);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (where_bindings);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (pattern);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 3921 "tracker-sparql-pattern.c"
			} else {
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (where_bindings);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (pattern);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 3939 "tracker-sparql-pattern.c"
			}
		}
#line 421 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp126_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 421 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp127_ = _tmp126_;
#line 421 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		limit = atoi (_tmp127_);
#line 421 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp127_);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp128_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OFFSET, &_inner_error_);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (where_bindings);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (pattern);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 3970 "tracker-sparql-pattern.c"
			} else {
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (where_bindings);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (pattern);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %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-pattern.vala"
				g_clear_error (&_inner_error_);
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 3988 "tracker-sparql-pattern.c"
			}
		}
#line 422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp128_) {
#line 3993 "tracker-sparql-pattern.c"
			gchar* _tmp129_;
			gchar* _tmp130_;
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_INTEGER, &_inner_error_);
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_propagate_error (error, _inner_error_);
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (where_bindings);
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (pattern);
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (old_bindings);
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (pattern_sql);
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (_result_);
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return NULL;
#line 4016 "tracker-sparql-pattern.c"
				} else {
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (where_bindings);
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (pattern);
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (old_bindings);
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (pattern_sql);
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (_result_);
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_clear_error (&_inner_error_);
#line 423 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return NULL;
#line 4034 "tracker-sparql-pattern.c"
				}
			}
#line 424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp129_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp130_ = _tmp129_;
#line 424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			offset = atoi (_tmp130_);
#line 424 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (_tmp130_);
#line 4045 "tracker-sparql-pattern.c"
		}
	} else {
		gboolean _tmp131_ = FALSE;
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp131_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OFFSET, &_inner_error_);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (where_bindings);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (pattern);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 4069 "tracker-sparql-pattern.c"
			} else {
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (where_bindings);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (pattern);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				__g_list_free__g_object_unref0_0 (old_bindings);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (pattern_sql);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %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-pattern.vala"
				g_clear_error (&_inner_error_);
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 4087 "tracker-sparql-pattern.c"
			}
		}
#line 426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp131_) {
#line 4092 "tracker-sparql-pattern.c"
			gchar* _tmp132_;
			gchar* _tmp133_;
			gboolean _tmp134_ = FALSE;
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_INTEGER, &_inner_error_);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_propagate_error (error, _inner_error_);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (where_bindings);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (pattern);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (old_bindings);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (pattern_sql);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (_result_);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return NULL;
#line 4116 "tracker-sparql-pattern.c"
				} else {
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (where_bindings);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (pattern);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (old_bindings);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (pattern_sql);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (_result_);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %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-pattern.vala"
					g_clear_error (&_inner_error_);
#line 427 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return NULL;
#line 4134 "tracker-sparql-pattern.c"
				}
			}
#line 428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp132_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp133_ = _tmp132_;
#line 428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			offset = atoi (_tmp133_);
#line 428 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (_tmp133_);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp134_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_LIMIT, &_inner_error_);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_propagate_error (error, _inner_error_);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (where_bindings);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (pattern);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (old_bindings);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (pattern_sql);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (_result_);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return NULL;
#line 4165 "tracker-sparql-pattern.c"
				} else {
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (where_bindings);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (pattern);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					__g_list_free__g_object_unref0_0 (old_bindings);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (pattern_sql);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (_result_);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %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-pattern.vala"
					g_clear_error (&_inner_error_);
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return NULL;
#line 4183 "tracker-sparql-pattern.c"
				}
			}
#line 429 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp134_) {
#line 4188 "tracker-sparql-pattern.c"
				gchar* _tmp135_;
				gchar* _tmp136_;
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_INTEGER, &_inner_error_);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						__g_list_free__g_object_unref0_0 (where_bindings);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (pattern);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						__g_list_free__g_object_unref0_0 (old_bindings);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_string_free0 (pattern_sql);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 4211 "tracker-sparql-pattern.c"
					} else {
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						__g_list_free__g_object_unref0_0 (where_bindings);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (pattern);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						__g_list_free__g_object_unref0_0 (old_bindings);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_string_free0 (pattern_sql);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 430 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 4229 "tracker-sparql-pattern.c"
					}
				}
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp135_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp136_ = _tmp135_;
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				limit = atoi (_tmp136_);
#line 431 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp136_);
#line 4240 "tracker-sparql-pattern.c"
			}
		}
	}
#line 436 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp137_ = limit;
#line 436 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp137_ >= 0) {
#line 4248 "tracker-sparql-pattern.c"
		TrackerSparqlLiteralBinding* binding = NULL;
		TrackerSparqlLiteralBinding* _tmp138_;
		TrackerSparqlLiteralBinding* _tmp139_;
		gint _tmp140_;
		gchar* _tmp141_;
		TrackerSparqlLiteralBinding* _tmp142_;
		TrackerSparqlQuery* _tmp143_;
		TrackerSparqlLiteralBinding* _tmp144_;
		TrackerSparqlLiteralBinding* _tmp145_;
		gint _tmp146_;
#line 437 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append (sql, " LIMIT ?");
#line 439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp138_ = tracker_sparql_literal_binding_new ();
#line 439 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		binding = _tmp138_;
#line 440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp139_ = binding;
#line 440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp140_ = limit;
#line 440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp141_ = g_strdup_printf ("%i", _tmp140_);
#line 440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp139_->literal);
#line 440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp139_->literal = _tmp141_;
#line 441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp142_ = binding;
#line 441 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		((TrackerSparqlDataBinding*) _tmp142_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp143_ = self->priv->query;
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp144_ = binding;
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp145_ = _g_object_ref0 (_tmp144_);
#line 442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp143_->bindings = g_list_append (_tmp143_->bindings, _tmp145_);
#line 444 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp146_ = offset;
#line 444 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp146_ >= 0) {
#line 4291 "tracker-sparql-pattern.c"
			TrackerSparqlLiteralBinding* _tmp147_;
			TrackerSparqlLiteralBinding* _tmp148_;
			gint _tmp149_;
			gchar* _tmp150_;
			TrackerSparqlLiteralBinding* _tmp151_;
			TrackerSparqlQuery* _tmp152_;
			TrackerSparqlLiteralBinding* _tmp153_;
			TrackerSparqlLiteralBinding* _tmp154_;
#line 445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_string_append (sql, " OFFSET ?");
#line 447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp147_ = tracker_sparql_literal_binding_new ();
#line 447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (binding);
#line 447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			binding = _tmp147_;
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp148_ = binding;
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp149_ = offset;
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp150_ = g_strdup_printf ("%i", _tmp149_);
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (_tmp148_->literal);
#line 448 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp148_->literal = _tmp150_;
#line 449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp151_ = binding;
#line 449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			((TrackerSparqlDataBinding*) _tmp151_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
#line 450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp152_ = self->priv->query;
#line 450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp153_ = binding;
#line 450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp154_ = _g_object_ref0 (_tmp153_);
#line 450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp152_->bindings = g_list_append (_tmp152_->bindings, _tmp154_);
#line 4330 "tracker-sparql-pattern.c"
		}
#line 436 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (binding);
#line 4334 "tracker-sparql-pattern.c"
	} else {
		gint _tmp155_;
#line 452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp155_ = offset;
#line 452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp155_ >= 0) {
#line 4341 "tracker-sparql-pattern.c"
			TrackerSparqlLiteralBinding* binding = NULL;
			TrackerSparqlLiteralBinding* _tmp156_;
			TrackerSparqlLiteralBinding* _tmp157_;
			gint _tmp158_;
			gchar* _tmp159_;
			TrackerSparqlLiteralBinding* _tmp160_;
			TrackerSparqlQuery* _tmp161_;
			TrackerSparqlLiteralBinding* _tmp162_;
			TrackerSparqlLiteralBinding* _tmp163_;
#line 453 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_string_append (sql, " LIMIT -1 OFFSET ?");
#line 455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp156_ = tracker_sparql_literal_binding_new ();
#line 455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			binding = _tmp156_;
#line 456 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp157_ = binding;
#line 456 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp158_ = offset;
#line 456 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp159_ = g_strdup_printf ("%i", _tmp158_);
#line 456 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (_tmp157_->literal);
#line 456 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp157_->literal = _tmp159_;
#line 457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp160_ = binding;
#line 457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			((TrackerSparqlDataBinding*) _tmp160_)->data_type = TRACKER_PROPERTY_TYPE_INTEGER;
#line 458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp161_ = self->priv->query;
#line 458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp162_ = binding;
#line 458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp163_ = _g_object_ref0 (_tmp162_);
#line 458 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp161_->bindings = g_list_append (_tmp161_->bindings, _tmp163_);
#line 452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (binding);
#line 4381 "tracker-sparql-pattern.c"
		}
	}
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp166_ = self->queries_fts_data;
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp166_) {
#line 4388 "tracker-sparql-pattern.c"
		GString* _tmp167_;
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp167_ = self->match_str;
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp165_ = _tmp167_ != NULL;
#line 4394 "tracker-sparql-pattern.c"
	} else {
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp165_ = FALSE;
#line 4398 "tracker-sparql-pattern.c"
	}
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp165_) {
#line 4402 "tracker-sparql-pattern.c"
		TrackerSparqlVariable* _tmp168_;
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp168_ = self->fts_subject;
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp164_ = _tmp168_ != NULL;
#line 4408 "tracker-sparql-pattern.c"
	} else {
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp164_ = FALSE;
#line 4412 "tracker-sparql-pattern.c"
	}
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp164_) {
#line 4416 "tracker-sparql-pattern.c"
		GString* str = NULL;
		GString* _tmp169_;
		gchar** _tmp170_;
		gint _tmp170__length1;
		GString* _tmp176_;
		GString* _tmp177_;
		const gchar* _tmp178_;
		GString* _tmp179_;
		const gchar* _tmp180_;
		gchar* _tmp181_;
		gchar* _tmp182_;
#line 462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp169_ = g_string_new ("SELECT ");
#line 462 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		str = _tmp169_;
#line 463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		first = TRUE;
#line 465 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp170_ = self->fts_variables;
#line 465 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp170__length1 = self->fts_variables_length1;
#line 4438 "tracker-sparql-pattern.c"
		{
			gchar** fts_var_collection = NULL;
			gint fts_var_collection_length1 = 0;
			gint _fts_var_collection_size_ = 0;
			gint fts_var_it = 0;
#line 465 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			fts_var_collection = _tmp170_;
#line 465 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			fts_var_collection_length1 = _tmp170__length1;
#line 465 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			for (fts_var_it = 0; fts_var_it < _tmp170__length1; fts_var_it = fts_var_it + 1) {
#line 4450 "tracker-sparql-pattern.c"
				gchar* _tmp171_;
				gchar* fts_var = NULL;
#line 465 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp171_ = g_strdup (fts_var_collection[fts_var_it]);
#line 465 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				fts_var = _tmp171_;
#line 4457 "tracker-sparql-pattern.c"
				{
					gboolean _tmp172_;
					GString* _tmp174_;
					const gchar* _tmp175_;
#line 466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp172_ = first;
#line 466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (!_tmp172_) {
#line 4466 "tracker-sparql-pattern.c"
						GString* _tmp173_;
#line 467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp173_ = str;
#line 467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append (_tmp173_, ", ");
#line 4472 "tracker-sparql-pattern.c"
					} else {
#line 469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						first = FALSE;
#line 4476 "tracker-sparql-pattern.c"
					}
#line 472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp174_ = str;
#line 472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp175_ = fts_var;
#line 472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (_tmp174_, _tmp175_);
#line 465 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (fts_var);
#line 4486 "tracker-sparql-pattern.c"
				}
			}
		}
#line 475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp176_ = str;
#line 475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append (_tmp176_, " FROM fts5 JOIN (");
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp177_ = str;
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp178_ = _tmp177_->str;
#line 476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_prepend (sql, _tmp178_);
#line 477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp179_ = self->match_str;
#line 477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp180_ = _tmp179_->str;
#line 477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp181_ = g_strdup_printf (") AS ranks ON fts5.rowid=rowid WHERE fts5 %s", _tmp180_);
#line 477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp182_ = _tmp181_;
#line 477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append_printf (sql, "%s", _tmp182_);
#line 477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp182_);
#line 461 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_string_free0 (str);
#line 4514 "tracker-sparql-pattern.c"
	}
#line 480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp183_ = tracker_sparql_pattern_get_context (self);
#line 480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp184_ = _tmp183_;
#line 480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp185_ = _tmp184_->parent_context;
#line 480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_set_context (self, _tmp185_);
#line 482 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp186_ = _result_;
#line 482 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp187_ = type;
#line 482 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp186_->type = _tmp187_;
#line 483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_string_free0 (self->match_str);
#line 483 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->match_str = NULL;
#line 484 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_object_unref0 (self->fts_subject);
#line 484 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->fts_subject = NULL;
#line 486 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	result = _result_;
#line 486 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	__g_list_free__g_object_unref0_0 (where_bindings);
#line 486 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tracker_sparql_context_unref0 (pattern);
#line 486 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	__g_list_free__g_object_unref0_0 (old_bindings);
#line 486 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_string_free0 (pattern_sql);
#line 486 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return result;
#line 4550 "tracker-sparql-pattern.c"
}


void
tracker_sparql_pattern_translate_exists (TrackerSparqlPattern* self,
                                         GString* sql,
                                         GError** error)
{
	gboolean not = FALSE;
	TrackerSparqlSelectContext* _result_ = NULL;
	TrackerSparqlQuery* _tmp0_;
	TrackerSparqlContext* _tmp1_;
	TrackerSparqlContext* _tmp2_;
	TrackerSparqlSelectContext* _tmp3_;
	TrackerSparqlSelectContext* _tmp4_;
	gboolean _tmp5_;
	TrackerSparqlContext* pattern = NULL;
	TrackerSparqlContext* _tmp6_;
	TrackerSparqlContext* _tmp7_;
	GHashTable* _tmp8_;
	GList* _tmp9_;
	TrackerSparqlContext* _tmp15_;
	TrackerSparqlContext* _tmp16_;
	GHashTable* _tmp17_;
	GList* _tmp18_;
	TrackerSparqlContext* _tmp28_;
	TrackerSparqlContext* _tmp29_;
	TrackerSparqlContext* _tmp30_;
	GError * _inner_error_ = NULL;
#line 489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (sql != NULL);
#line 490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	not = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_NOT, &_inner_error_);
#line 490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 4594 "tracker-sparql-pattern.c"
		} else {
#line 490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 4602 "tracker-sparql-pattern.c"
		}
	}
#line 491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_EXISTS, &_inner_error_);
#line 491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 4615 "tracker-sparql-pattern.c"
		} else {
#line 491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 4623 "tracker-sparql-pattern.c"
		}
	}
#line 494 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = self->priv->query;
#line 494 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = tracker_sparql_pattern_get_context (self);
#line 494 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp2_ = _tmp1_;
#line 494 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp3_ = tracker_sparql_select_context_new_subquery (_tmp0_, _tmp2_);
#line 494 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tracker_sparql_context_unref0 (_result_);
#line 494 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_result_ = _tmp3_;
#line 495 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp4_ = _result_;
#line 495 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_set_context (self, (TrackerSparqlContext*) _tmp4_);
#line 497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp5_ = not;
#line 497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp5_) {
#line 499 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append (sql, "NOT EXISTS (");
#line 4648 "tracker-sparql-pattern.c"
	} else {
#line 502 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append (sql, "EXISTS (");
#line 4652 "tracker-sparql-pattern.c"
	}
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp6_ = tracker_sparql_pattern_translate_group_graph_pattern (self, sql, &_inner_error_);
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	pattern = _tmp6_;
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 4668 "tracker-sparql-pattern.c"
		} else {
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 505 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 4678 "tracker-sparql-pattern.c"
		}
	}
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp7_ = pattern;
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp8_ = _tmp7_->var_set;
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp9_ = g_hash_table_get_keys (_tmp8_);
#line 4687 "tracker-sparql-pattern.c"
	{
		GList* key_collection = NULL;
		GList* key_it = NULL;
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		key_collection = _tmp9_;
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		for (key_it = key_collection; key_it != NULL; key_it = key_it->next) {
#line 4695 "tracker-sparql-pattern.c"
			TrackerSparqlVariable* key = NULL;
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			key = (TrackerSparqlVariable*) key_it->data;
#line 4699 "tracker-sparql-pattern.c"
			{
				TrackerSparqlContext* _tmp10_;
				TrackerSparqlContext* _tmp11_;
				GHashTable* _tmp12_;
				TrackerSparqlVariable* _tmp13_;
				TrackerSparqlVariable* _tmp14_;
#line 507 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp10_ = tracker_sparql_pattern_get_context (self);
#line 507 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp11_ = _tmp10_;
#line 507 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp12_ = _tmp11_->var_set;
#line 507 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp13_ = key;
#line 507 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp14_ = _g_object_ref0 (_tmp13_);
#line 507 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_hash_table_insert (_tmp12_, _tmp14_, (gpointer) ((gintptr) ((gint) TRACKER_SPARQL_VARIABLE_STATE_BOUND)));
#line 4718 "tracker-sparql-pattern.c"
			}
		}
#line 506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_list_free0 (key_collection);
#line 4723 "tracker-sparql-pattern.c"
	}
#line 511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp15_ = tracker_sparql_pattern_get_context (self);
#line 511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp16_ = _tmp15_;
#line 511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp17_ = _tmp16_->var_set;
#line 511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp18_ = g_hash_table_get_keys (_tmp17_);
#line 4733 "tracker-sparql-pattern.c"
	{
		GList* variable_collection = NULL;
		GList* variable_it = NULL;
#line 511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		variable_collection = _tmp18_;
#line 511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		for (variable_it = variable_collection; variable_it != NULL; variable_it = variable_it->next) {
#line 4741 "tracker-sparql-pattern.c"
			TrackerSparqlVariable* variable = NULL;
#line 511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			variable = (TrackerSparqlVariable*) variable_it->data;
#line 4745 "tracker-sparql-pattern.c"
			{
				TrackerSparqlVariable* _tmp19_;
				TrackerSparqlVariableBinding* _tmp20_;
#line 512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp19_ = variable;
#line 512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp20_ = _tmp19_->binding;
#line 512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp20_ == NULL) {
#line 4755 "tracker-sparql-pattern.c"
					TrackerSparqlVariable* _tmp21_;
					const gchar* _tmp22_;
					const gchar* _tmp23_;
					gchar* _tmp24_;
					gchar* _tmp25_;
					GError* _tmp26_;
					GError* _tmp27_;
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp21_ = variable;
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp22_ = tracker_sparql_variable_get_name (_tmp21_);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp23_ = _tmp22_;
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp24_ = g_strdup_printf ("use of undefined variable `%s'", _tmp23_);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp25_ = _tmp24_;
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp26_ = tracker_sparql_pattern_get_error (self, _tmp25_);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp27_ = _tmp26_;
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp25_);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_inner_error_ = _tmp27_;
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_list_free0 (variable_collection);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (pattern);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return;
#line 4793 "tracker-sparql-pattern.c"
					} else {
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_list_free0 (variable_collection);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (pattern);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return;
#line 4807 "tracker-sparql-pattern.c"
					}
				}
			}
		}
#line 511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_list_free0 (variable_collection);
#line 4814 "tracker-sparql-pattern.c"
	}
#line 517 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_string_append (sql, ")");
#line 519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp28_ = tracker_sparql_pattern_get_context (self);
#line 519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp29_ = _tmp28_;
#line 519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp30_ = _tmp29_->parent_context;
#line 519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_set_context (self, _tmp30_);
#line 489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tracker_sparql_context_unref0 (pattern);
#line 489 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tracker_sparql_context_unref0 (_result_);
#line 4830 "tracker-sparql-pattern.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 4854 "tracker-sparql-pattern.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 4863 "tracker-sparql-pattern.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 4884 "tracker-sparql-pattern.c"
	} else {
#line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = FALSE;
#line 4888 "tracker-sparql-pattern.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 4894 "tracker-sparql-pattern.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 4904 "tracker-sparql-pattern.c"
	}
#line 1356 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (offset < ((glong) 0)) {
#line 4908 "tracker-sparql-pattern.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 4916 "tracker-sparql-pattern.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 4923 "tracker-sparql-pattern.c"
	}
#line 1362 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (len < ((glong) 0)) {
#line 4927 "tracker-sparql-pattern.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 4933 "tracker-sparql-pattern.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 4945 "tracker-sparql-pattern.c"
}


gchar*
tracker_sparql_pattern_parse_var_or_term (TrackerSparqlPattern* self,
                                          GString* sql,
                                          gboolean* is_var,
                                          GError** error)
{
	gboolean _vala_is_var = FALSE;
	gchar* result = NULL;
	gchar* _result_ = NULL;
	gchar* _tmp0_;
	GError * _inner_error_ = NULL;
#line 522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 523 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = g_strdup ("");
#line 523 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_result_ = _tmp0_;
#line 524 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_vala_is_var = FALSE;
#line 525 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_VAR) {
#line 4970 "tracker-sparql-pattern.c"
		gchar* _tmp1_;
		gchar* _tmp2_;
		gchar* _tmp3_;
#line 526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_vala_is_var = TRUE;
#line 527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_next (self, &_inner_error_);
#line 527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_result_);
#line 527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 4988 "tracker-sparql-pattern.c"
			} else {
#line 527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_result_);
#line 527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 4998 "tracker-sparql-pattern.c"
			}
		}
#line 528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp1_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp2_ = _tmp1_;
#line 528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp3_ = string_substring (_tmp2_, (glong) 1, (glong) -1);
#line 528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_result_);
#line 528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_result_ = _tmp3_;
#line 528 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp2_);
#line 5013 "tracker-sparql-pattern.c"
	} else {
#line 529 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_IRI_REF) {
#line 5017 "tracker-sparql-pattern.c"
			gchar* _tmp4_;
#line 530 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			tracker_sparql_pattern_next (self, &_inner_error_);
#line 530 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 530 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 530 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_propagate_error (error, _inner_error_);
#line 530 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_result_);
#line 530 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return NULL;
#line 5031 "tracker-sparql-pattern.c"
				} else {
#line 530 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_result_);
#line 530 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 530 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_clear_error (&_inner_error_);
#line 530 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return NULL;
#line 5041 "tracker-sparql-pattern.c"
				}
			}
#line 531 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp4_ = tracker_sparql_pattern_get_last_string (self, 1);
#line 531 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (_result_);
#line 531 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_result_ = _tmp4_;
#line 5050 "tracker-sparql-pattern.c"
		} else {
#line 532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX) {
#line 5054 "tracker-sparql-pattern.c"
				gchar* ns = NULL;
				gchar* _tmp5_;
				gchar* _tmp6_ = NULL;
				TrackerSparqlQuery* _tmp7_;
				const gchar* _tmp8_;
				gchar* _tmp9_;
				gchar* _tmp10_;
				gchar* _tmp11_;
				gchar* _tmp12_;
				gchar* _tmp13_;
				gchar* _tmp14_;
				gchar* _tmp15_;
#line 534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_next (self, &_inner_error_);
#line 534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_result_);
#line 534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 5079 "tracker-sparql-pattern.c"
					} else {
#line 534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_result_);
#line 534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 5089 "tracker-sparql-pattern.c"
					}
				}
#line 535 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp5_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 535 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				ns = _tmp5_;
#line 536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COLON, &_inner_error_);
#line 536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (ns);
#line 536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_result_);
#line 536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 5110 "tracker-sparql-pattern.c"
					} else {
#line 536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (ns);
#line 536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_result_);
#line 536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 5122 "tracker-sparql-pattern.c"
					}
				}
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp7_ = self->priv->query;
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp8_ = ns;
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp9_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp10_ = _tmp9_;
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp11_ = string_substring (_tmp10_, (glong) 1, (glong) -1);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp12_ = _tmp11_;
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp13_ = tracker_sparql_query_resolve_prefixed_name (_tmp7_, _tmp8_, _tmp12_, &_inner_error_);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp14_ = _tmp13_;
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp12_);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp10_);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp6_ = _tmp14_;
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (ns);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_result_);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 5159 "tracker-sparql-pattern.c"
					} else {
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (ns);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_result_);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %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-pattern.vala"
						g_clear_error (&_inner_error_);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 5171 "tracker-sparql-pattern.c"
					}
				}
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp15_ = _tmp6_;
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp6_ = NULL;
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_result_);
#line 537 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_result_ = _tmp15_;
#line 532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp6_);
#line 532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (ns);
#line 5186 "tracker-sparql-pattern.c"
			} else {
#line 538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_COLON) {
#line 5190 "tracker-sparql-pattern.c"
					gchar* _tmp16_ = NULL;
					TrackerSparqlQuery* _tmp17_;
					gchar* _tmp18_;
					gchar* _tmp19_;
					gchar* _tmp20_;
					gchar* _tmp21_;
					gchar* _tmp22_;
					gchar* _tmp23_;
					gchar* _tmp24_;
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_next (self, &_inner_error_);
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (_result_);
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 5212 "tracker-sparql-pattern.c"
						} else {
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (_result_);
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 5222 "tracker-sparql-pattern.c"
						}
					}
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp17_ = self->priv->query;
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp18_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp19_ = _tmp18_;
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp20_ = string_substring (_tmp19_, (glong) 1, (glong) -1);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp21_ = _tmp20_;
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp22_ = tracker_sparql_query_resolve_prefixed_name (_tmp17_, "", _tmp21_, &_inner_error_);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp23_ = _tmp22_;
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp21_);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp19_);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp16_ = _tmp23_;
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (_result_);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 5255 "tracker-sparql-pattern.c"
						} else {
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (_result_);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 5265 "tracker-sparql-pattern.c"
						}
					}
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp24_ = _tmp16_;
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp16_ = NULL;
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_result_);
#line 541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_result_ = _tmp24_;
#line 538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp16_);
#line 5278 "tracker-sparql-pattern.c"
				} else {
					gboolean _tmp25_ = FALSE;
#line 542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp25_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_BLANK_NODE, &_inner_error_);
#line 542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (_result_);
#line 542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 5293 "tracker-sparql-pattern.c"
						} else {
#line 542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (_result_);
#line 542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 5303 "tracker-sparql-pattern.c"
						}
					}
#line 542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp25_) {
#line 5308 "tracker-sparql-pattern.c"
						TrackerSparqlQuery* _tmp26_;
						gchar* _tmp27_;
						gchar* _tmp28_;
						gchar* _tmp29_;
						gchar* _tmp30_;
						gchar* _tmp31_;
#line 544 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COLON, &_inner_error_);
#line 544 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 544 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 544 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_propagate_error (error, _inner_error_);
#line 544 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (_result_);
#line 544 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								return NULL;
#line 5327 "tracker-sparql-pattern.c"
							} else {
#line 544 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (_result_);
#line 544 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 544 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_clear_error (&_inner_error_);
#line 544 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								return NULL;
#line 5337 "tracker-sparql-pattern.c"
							}
						}
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp26_ = self->priv->query;
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp27_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp28_ = _tmp27_;
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp29_ = string_substring (_tmp28_, (glong) 1, (glong) -1);
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp30_ = _tmp29_;
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp31_ = tracker_sparql_query_generate_bnodeid (_tmp26_, _tmp30_);
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_result_);
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_result_ = _tmp31_;
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_tmp30_);
#line 545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_tmp28_);
#line 5360 "tracker-sparql-pattern.c"
					} else {
#line 546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL1) {
#line 5364 "tracker-sparql-pattern.c"
							gchar* _tmp32_ = NULL;
							TrackerSparqlExpression* _tmp33_;
							gchar* _tmp34_;
							gchar* _tmp35_;
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp33_ = self->priv->expression;
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp34_ = tracker_sparql_expression_parse_string_literal (_tmp33_, NULL, &_inner_error_);
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp32_ = _tmp34_;
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_propagate_error (error, _inner_error_);
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_free0 (_result_);
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									return NULL;
#line 5385 "tracker-sparql-pattern.c"
								} else {
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_free0 (_result_);
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_clear_error (&_inner_error_);
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									return NULL;
#line 5395 "tracker-sparql-pattern.c"
								}
							}
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp35_ = _tmp32_;
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp32_ = NULL;
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (_result_);
#line 547 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_result_ = _tmp35_;
#line 546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (_tmp32_);
#line 5408 "tracker-sparql-pattern.c"
						} else {
#line 548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL2) {
#line 5412 "tracker-sparql-pattern.c"
								gchar* _tmp36_ = NULL;
								TrackerSparqlExpression* _tmp37_;
								gchar* _tmp38_;
								gchar* _tmp39_;
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp37_ = self->priv->expression;
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp38_ = tracker_sparql_expression_parse_string_literal (_tmp37_, NULL, &_inner_error_);
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp36_ = _tmp38_;
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_propagate_error (error, _inner_error_);
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_g_free0 (_result_);
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										return NULL;
#line 5433 "tracker-sparql-pattern.c"
									} else {
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_g_free0 (_result_);
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_clear_error (&_inner_error_);
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										return NULL;
#line 5443 "tracker-sparql-pattern.c"
									}
								}
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp39_ = _tmp36_;
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp36_ = NULL;
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (_result_);
#line 549 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_result_ = _tmp39_;
#line 548 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (_tmp36_);
#line 5456 "tracker-sparql-pattern.c"
							} else {
#line 550 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG1) {
#line 5460 "tracker-sparql-pattern.c"
									gchar* _tmp40_ = NULL;
									TrackerSparqlExpression* _tmp41_;
									gchar* _tmp42_;
									gchar* _tmp43_;
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp41_ = self->priv->expression;
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp42_ = tracker_sparql_expression_parse_string_literal (_tmp41_, NULL, &_inner_error_);
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp40_ = _tmp42_;
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											g_propagate_error (error, _inner_error_);
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_g_free0 (_result_);
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											return NULL;
#line 5481 "tracker-sparql-pattern.c"
										} else {
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_g_free0 (_result_);
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											g_clear_error (&_inner_error_);
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											return NULL;
#line 5491 "tracker-sparql-pattern.c"
										}
									}
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp43_ = _tmp40_;
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp40_ = NULL;
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_free0 (_result_);
#line 551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_result_ = _tmp43_;
#line 550 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_free0 (_tmp40_);
#line 5504 "tracker-sparql-pattern.c"
								} else {
#line 552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_STRING_LITERAL_LONG2) {
#line 5508 "tracker-sparql-pattern.c"
										gchar* _tmp44_ = NULL;
										TrackerSparqlExpression* _tmp45_;
										gchar* _tmp46_;
										gchar* _tmp47_;
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp45_ = self->priv->expression;
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp46_ = tracker_sparql_expression_parse_string_literal (_tmp45_, NULL, &_inner_error_);
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp44_ = _tmp46_;
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												g_propagate_error (error, _inner_error_);
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												_g_free0 (_result_);
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												return NULL;
#line 5529 "tracker-sparql-pattern.c"
											} else {
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												_g_free0 (_result_);
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												g_clear_error (&_inner_error_);
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												return NULL;
#line 5539 "tracker-sparql-pattern.c"
											}
										}
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp47_ = _tmp44_;
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp44_ = NULL;
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_g_free0 (_result_);
#line 553 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_result_ = _tmp47_;
#line 552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_g_free0 (_tmp44_);
#line 5552 "tracker-sparql-pattern.c"
									} else {
#line 554 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_INTEGER) {
#line 5556 "tracker-sparql-pattern.c"
											gchar* _tmp48_;
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											tracker_sparql_pattern_next (self, &_inner_error_);
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													g_propagate_error (error, _inner_error_);
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													_g_free0 (_result_);
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													return NULL;
#line 5570 "tracker-sparql-pattern.c"
												} else {
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													_g_free0 (_result_);
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													g_clear_error (&_inner_error_);
#line 555 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													return NULL;
#line 5580 "tracker-sparql-pattern.c"
												}
											}
#line 556 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp48_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 556 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_g_free0 (_result_);
#line 556 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_result_ = _tmp48_;
#line 5589 "tracker-sparql-pattern.c"
										} else {
#line 557 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_DECIMAL) {
#line 5593 "tracker-sparql-pattern.c"
												gchar* _tmp49_;
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												tracker_sparql_pattern_next (self, &_inner_error_);
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
														g_propagate_error (error, _inner_error_);
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
														_g_free0 (_result_);
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
														return NULL;
#line 5607 "tracker-sparql-pattern.c"
													} else {
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
														_g_free0 (_result_);
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
														g_critical ("file %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-pattern.vala"
														g_clear_error (&_inner_error_);
#line 558 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
														return NULL;
#line 5617 "tracker-sparql-pattern.c"
													}
												}
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												_tmp49_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												_g_free0 (_result_);
#line 559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												_result_ = _tmp49_;
#line 5626 "tracker-sparql-pattern.c"
											} else {
#line 560 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_DOUBLE) {
#line 5630 "tracker-sparql-pattern.c"
													gchar* _tmp50_;
#line 561 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													tracker_sparql_pattern_next (self, &_inner_error_);
#line 561 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 561 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
														if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 561 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
															g_propagate_error (error, _inner_error_);
#line 561 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
															_g_free0 (_result_);
#line 561 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
															return NULL;
#line 5644 "tracker-sparql-pattern.c"
														} else {
#line 561 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
															_g_free0 (_result_);
#line 561 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
															g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 561 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
															g_clear_error (&_inner_error_);
#line 561 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
															return NULL;
#line 5654 "tracker-sparql-pattern.c"
														}
													}
#line 562 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													_tmp50_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 562 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													_g_free0 (_result_);
#line 562 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													_result_ = _tmp50_;
#line 5663 "tracker-sparql-pattern.c"
												} else {
#line 563 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_TRUE) {
#line 5667 "tracker-sparql-pattern.c"
														gchar* _tmp51_;
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
														tracker_sparql_pattern_next (self, &_inner_error_);
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
														if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
															if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																g_propagate_error (error, _inner_error_);
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_g_free0 (_result_);
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																return NULL;
#line 5681 "tracker-sparql-pattern.c"
															} else {
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_g_free0 (_result_);
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																g_critical ("file %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-pattern.vala"
																g_clear_error (&_inner_error_);
#line 564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																return NULL;
#line 5691 "tracker-sparql-pattern.c"
															}
														}
#line 565 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
														_tmp51_ = g_strdup ("true");
#line 565 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
														_g_free0 (_result_);
#line 565 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
														_result_ = _tmp51_;
#line 5700 "tracker-sparql-pattern.c"
													} else {
#line 566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
														if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_FALSE) {
#line 5704 "tracker-sparql-pattern.c"
															gchar* _tmp52_;
#line 567 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
															tracker_sparql_pattern_next (self, &_inner_error_);
#line 567 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
															if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 567 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 567 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	g_propagate_error (error, _inner_error_);
#line 567 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	_g_free0 (_result_);
#line 567 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	return NULL;
#line 5718 "tracker-sparql-pattern.c"
																} else {
#line 567 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	_g_free0 (_result_);
#line 567 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 567 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	g_clear_error (&_inner_error_);
#line 567 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	return NULL;
#line 5728 "tracker-sparql-pattern.c"
																}
															}
#line 568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
															_tmp52_ = g_strdup ("false");
#line 568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
															_g_free0 (_result_);
#line 568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
															_result_ = _tmp52_;
#line 5737 "tracker-sparql-pattern.c"
														} else {
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
															if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_OPEN_BRACKET) {
#line 5741 "tracker-sparql-pattern.c"
																TrackerSparqlQuery* _tmp53_;
																gchar* _tmp54_;
																gchar* old_subject = NULL;
																const gchar* _tmp55_;
																gchar* _tmp56_;
																gboolean old_subject_is_var = FALSE;
																gboolean _tmp57_;
																const gchar* _tmp58_;
																gchar* _tmp59_;
																const gchar* _tmp60_;
																gchar* _tmp61_;
																gboolean _tmp62_;
#line 570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																tracker_sparql_pattern_next (self, &_inner_error_);
#line 570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		g_propagate_error (error, _inner_error_);
#line 570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		_g_free0 (_result_);
#line 570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		return NULL;
#line 5766 "tracker-sparql-pattern.c"
																	} else {
#line 570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		_g_free0 (_result_);
#line 570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		g_clear_error (&_inner_error_);
#line 570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		return NULL;
#line 5776 "tracker-sparql-pattern.c"
																	}
																}
#line 572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_tmp53_ = self->priv->query;
#line 572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_tmp54_ = tracker_sparql_query_generate_bnodeid (_tmp53_, NULL);
#line 572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_g_free0 (_result_);
#line 572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_result_ = _tmp54_;
#line 574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_tmp55_ = self->priv->current_subject;
#line 574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_tmp56_ = g_strdup (_tmp55_);
#line 574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																old_subject = _tmp56_;
#line 575 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_tmp57_ = self->priv->current_subject_is_var;
#line 575 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																old_subject_is_var = _tmp57_;
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_tmp58_ = _result_;
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_tmp59_ = g_strdup (_tmp58_);
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_g_free0 (self->priv->current_subject);
#line 577 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																self->priv->current_subject = _tmp59_;
#line 578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																self->priv->current_subject_is_var = TRUE;
#line 579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																tracker_sparql_pattern_parse_property_list_not_empty (self, sql, FALSE, &_inner_error_);
#line 579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		g_propagate_error (error, _inner_error_);
#line 579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		_g_free0 (old_subject);
#line 579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		_g_free0 (_result_);
#line 579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		return NULL;
#line 5821 "tracker-sparql-pattern.c"
																	} else {
#line 579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		_g_free0 (old_subject);
#line 579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		_g_free0 (_result_);
#line 579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		g_clear_error (&_inner_error_);
#line 579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		return NULL;
#line 5833 "tracker-sparql-pattern.c"
																	}
																}
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_BRACKET, &_inner_error_);
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		g_propagate_error (error, _inner_error_);
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		_g_free0 (old_subject);
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		_g_free0 (_result_);
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		return NULL;
#line 5850 "tracker-sparql-pattern.c"
																	} else {
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		_g_free0 (old_subject);
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		_g_free0 (_result_);
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		g_clear_error (&_inner_error_);
#line 580 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																		return NULL;
#line 5862 "tracker-sparql-pattern.c"
																	}
																}
#line 582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_tmp60_ = old_subject;
#line 582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_tmp61_ = g_strdup (_tmp60_);
#line 582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_g_free0 (self->priv->current_subject);
#line 582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																self->priv->current_subject = _tmp61_;
#line 583 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_tmp62_ = old_subject_is_var;
#line 583 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																self->priv->current_subject_is_var = _tmp62_;
#line 585 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_vala_is_var = TRUE;
#line 569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_g_free0 (old_subject);
#line 5881 "tracker-sparql-pattern.c"
															} else {
																GError* _tmp63_;
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_tmp63_ = tracker_sparql_pattern_get_error (self, "expected variable or term");
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																_inner_error_ = _tmp63_;
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	g_propagate_error (error, _inner_error_);
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	_g_free0 (_result_);
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	return NULL;
#line 5896 "tracker-sparql-pattern.c"
																} else {
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	_g_free0 (_result_);
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	g_clear_error (&_inner_error_);
#line 587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
																	return NULL;
#line 5906 "tracker-sparql-pattern.c"
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
#line 589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	result = _result_;
#line 589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (is_var) {
#line 589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		*is_var = _vala_is_var;
#line 5929 "tracker-sparql-pattern.c"
	}
#line 589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return result;
#line 5933 "tracker-sparql-pattern.c"
}


static void
tracker_sparql_pattern_parse_object_list (TrackerSparqlPattern* self,
                                          GString* sql,
                                          gboolean in_simple_optional,
                                          GError** error)
{
	GError * _inner_error_ = NULL;
#line 592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (sql != NULL);
#line 593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	while (TRUE) {
#line 5950 "tracker-sparql-pattern.c"
		gboolean _tmp0_ = FALSE;
#line 594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_parse_object (self, sql, in_simple_optional, &_inner_error_);
#line 594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 5962 "tracker-sparql-pattern.c"
			} else {
#line 594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 5970 "tracker-sparql-pattern.c"
			}
		}
#line 595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp0_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COMMA, &_inner_error_);
#line 595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 5983 "tracker-sparql-pattern.c"
			} else {
#line 595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 5991 "tracker-sparql-pattern.c"
			}
		}
#line 595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp0_) {
#line 596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			continue;
#line 5998 "tracker-sparql-pattern.c"
		}
#line 598 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		break;
#line 6002 "tracker-sparql-pattern.c"
	}
}


static void
tracker_sparql_pattern_parse_property_list_not_empty (TrackerSparqlPattern* self,
                                                      GString* sql,
                                                      gboolean in_simple_optional,
                                                      GError** error)
{
	GError * _inner_error_ = NULL;
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 602 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (sql != NULL);
#line 603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	while (TRUE) {
#line 6020 "tracker-sparql-pattern.c"
		gchar* old_predicate = NULL;
		const gchar* _tmp0_;
		gchar* _tmp1_;
		gboolean old_predicate_is_var = FALSE;
		gboolean _tmp2_;
		const gchar* _tmp29_;
		gchar* _tmp30_;
		gboolean _tmp31_;
		gboolean _tmp32_ = FALSE;
#line 604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp0_ = self->priv->current_predicate;
#line 604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp1_ = g_strdup (_tmp0_);
#line 604 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		old_predicate = _tmp1_;
#line 605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp2_ = self->priv->current_predicate_is_var;
#line 605 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		old_predicate_is_var = _tmp2_;
#line 607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (self->priv->current_predicate);
#line 607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		self->priv->current_predicate = NULL;
#line 608 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		self->priv->current_predicate_is_var = FALSE;
#line 609 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_VAR) {
#line 6048 "tracker-sparql-pattern.c"
			gchar* _tmp3_;
			gchar* _tmp4_;
			gchar* _tmp5_;
#line 610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			self->priv->current_predicate_is_var = TRUE;
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			tracker_sparql_pattern_next (self, &_inner_error_);
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_propagate_error (error, _inner_error_);
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (old_predicate);
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 6066 "tracker-sparql-pattern.c"
				} else {
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (old_predicate);
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_clear_error (&_inner_error_);
#line 611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 6076 "tracker-sparql-pattern.c"
				}
			}
#line 612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp3_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp4_ = _tmp3_;
#line 612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp5_ = string_substring (_tmp4_, (glong) 1, (glong) -1);
#line 612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (self->priv->current_predicate);
#line 612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			self->priv->current_predicate = _tmp5_;
#line 612 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (_tmp4_);
#line 6091 "tracker-sparql-pattern.c"
		} else {
#line 613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_IRI_REF) {
#line 6095 "tracker-sparql-pattern.c"
				gchar* _tmp6_;
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_next (self, &_inner_error_);
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (old_predicate);
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return;
#line 6109 "tracker-sparql-pattern.c"
					} else {
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (old_predicate);
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %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-pattern.vala"
						g_clear_error (&_inner_error_);
#line 614 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return;
#line 6119 "tracker-sparql-pattern.c"
					}
				}
#line 615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp6_ = tracker_sparql_pattern_get_last_string (self, 1);
#line 615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (self->priv->current_predicate);
#line 615 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				self->priv->current_predicate = _tmp6_;
#line 6128 "tracker-sparql-pattern.c"
			} else {
#line 616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX) {
#line 6132 "tracker-sparql-pattern.c"
					gchar* ns = NULL;
					gchar* _tmp7_;
					gchar* _tmp8_ = NULL;
					TrackerSparqlQuery* _tmp9_;
					const gchar* _tmp10_;
					gchar* _tmp11_;
					gchar* _tmp12_;
					gchar* _tmp13_;
					gchar* _tmp14_;
					gchar* _tmp15_;
					gchar* _tmp16_;
					gchar* _tmp17_;
#line 617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_next (self, &_inner_error_);
#line 617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (old_predicate);
#line 617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return;
#line 6157 "tracker-sparql-pattern.c"
						} else {
#line 617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (old_predicate);
#line 617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 617 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return;
#line 6167 "tracker-sparql-pattern.c"
						}
					}
#line 618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp7_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					ns = _tmp7_;
#line 619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COLON, &_inner_error_);
#line 619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (ns);
#line 619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (old_predicate);
#line 619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return;
#line 6188 "tracker-sparql-pattern.c"
						} else {
#line 619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (ns);
#line 619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (old_predicate);
#line 619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return;
#line 6200 "tracker-sparql-pattern.c"
						}
					}
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp9_ = self->priv->query;
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp10_ = ns;
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp11_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp12_ = _tmp11_;
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp13_ = string_substring (_tmp12_, (glong) 1, (glong) -1);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp14_ = _tmp13_;
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp15_ = tracker_sparql_query_resolve_prefixed_name (_tmp9_, _tmp10_, _tmp14_, &_inner_error_);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp16_ = _tmp15_;
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp14_);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp12_);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp8_ = _tmp16_;
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (ns);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (old_predicate);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return;
#line 6237 "tracker-sparql-pattern.c"
						} else {
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (ns);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (old_predicate);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return;
#line 6249 "tracker-sparql-pattern.c"
						}
					}
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp17_ = _tmp8_;
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp8_ = NULL;
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (self->priv->current_predicate);
#line 620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					self->priv->current_predicate = _tmp17_;
#line 616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp8_);
#line 616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (ns);
#line 6264 "tracker-sparql-pattern.c"
				} else {
#line 621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_COLON) {
#line 6268 "tracker-sparql-pattern.c"
						gchar* _tmp18_ = NULL;
						TrackerSparqlQuery* _tmp19_;
						gchar* _tmp20_;
						gchar* _tmp21_;
						gchar* _tmp22_;
						gchar* _tmp23_;
						gchar* _tmp24_;
						gchar* _tmp25_;
						gchar* _tmp26_;
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						tracker_sparql_pattern_next (self, &_inner_error_);
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_propagate_error (error, _inner_error_);
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (old_predicate);
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								return;
#line 6290 "tracker-sparql-pattern.c"
							} else {
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (old_predicate);
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_clear_error (&_inner_error_);
#line 622 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								return;
#line 6300 "tracker-sparql-pattern.c"
							}
						}
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp19_ = self->priv->query;
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp20_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp21_ = _tmp20_;
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp22_ = string_substring (_tmp21_, (glong) 1, (glong) -1);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp23_ = _tmp22_;
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp24_ = tracker_sparql_query_resolve_prefixed_name (_tmp19_, "", _tmp23_, &_inner_error_);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp25_ = _tmp24_;
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_tmp23_);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_tmp21_);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp18_ = _tmp25_;
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_propagate_error (error, _inner_error_);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (old_predicate);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								return;
#line 6333 "tracker-sparql-pattern.c"
							} else {
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (old_predicate);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_clear_error (&_inner_error_);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								return;
#line 6343 "tracker-sparql-pattern.c"
							}
						}
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp26_ = _tmp18_;
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp18_ = NULL;
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (self->priv->current_predicate);
#line 623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						self->priv->current_predicate = _tmp26_;
#line 621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_tmp18_);
#line 6356 "tracker-sparql-pattern.c"
					} else {
#line 624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_A) {
#line 6360 "tracker-sparql-pattern.c"
							gchar* _tmp27_;
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							tracker_sparql_pattern_next (self, &_inner_error_);
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_propagate_error (error, _inner_error_);
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_free0 (old_predicate);
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									return;
#line 6374 "tracker-sparql-pattern.c"
								} else {
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_free0 (old_predicate);
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_critical ("file %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-pattern.vala"
									g_clear_error (&_inner_error_);
#line 625 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									return;
#line 6384 "tracker-sparql-pattern.c"
								}
							}
#line 626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp27_ = g_strdup ("http://www.w3.org/1999/02/22-rdf-syntax-ns#type");
#line 626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (self->priv->current_predicate);
#line 626 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							self->priv->current_predicate = _tmp27_;
#line 6393 "tracker-sparql-pattern.c"
						} else {
							GError* _tmp28_;
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp28_ = tracker_sparql_pattern_get_error (self, "expected non-empty property list");
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_inner_error_ = _tmp28_;
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_propagate_error (error, _inner_error_);
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (old_predicate);
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								return;
#line 6408 "tracker-sparql-pattern.c"
							} else {
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (old_predicate);
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_critical ("file %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-pattern.vala"
								g_clear_error (&_inner_error_);
#line 628 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								return;
#line 6418 "tracker-sparql-pattern.c"
							}
						}
					}
				}
			}
		}
#line 630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_parse_object_list (self, sql, in_simple_optional, &_inner_error_);
#line 630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (old_predicate);
#line 630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 6437 "tracker-sparql-pattern.c"
			} else {
#line 630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (old_predicate);
#line 630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 6447 "tracker-sparql-pattern.c"
			}
		}
#line 632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp29_ = old_predicate;
#line 632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp30_ = g_strdup (_tmp29_);
#line 632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (self->priv->current_predicate);
#line 632 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		self->priv->current_predicate = _tmp30_;
#line 633 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp31_ = old_predicate_is_var;
#line 633 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		self->priv->current_predicate_is_var = _tmp31_;
#line 635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp32_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_SEMICOLON, &_inner_error_);
#line 635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (old_predicate);
#line 635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 6474 "tracker-sparql-pattern.c"
			} else {
#line 635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (old_predicate);
#line 635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 6484 "tracker-sparql-pattern.c"
			}
		}
#line 635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp32_) {
#line 636 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_DOT) {
#line 638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (old_predicate);
#line 638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				break;
#line 6495 "tracker-sparql-pattern.c"
			}
#line 640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (old_predicate);
#line 640 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			continue;
#line 6501 "tracker-sparql-pattern.c"
		}
#line 642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (old_predicate);
#line 642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		break;
#line 6507 "tracker-sparql-pattern.c"
	}
}


static void
tracker_sparql_pattern_translate_filter (TrackerSparqlPattern* self,
                                         GString* sql,
                                         GError** error)
{
	TrackerSparqlExpression* _tmp0_;
	GError * _inner_error_ = NULL;
#line 646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (sql != NULL);
#line 647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_FILTER, &_inner_error_);
#line 647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 6533 "tracker-sparql-pattern.c"
		} else {
#line 647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 6541 "tracker-sparql-pattern.c"
		}
	}
#line 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = self->priv->expression;
#line 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_expression_translate_constraint (_tmp0_, sql, &_inner_error_);
#line 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 6556 "tracker-sparql-pattern.c"
		} else {
#line 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %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-pattern.vala"
			g_clear_error (&_inner_error_);
#line 648 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 6564 "tracker-sparql-pattern.c"
		}
	}
}


static void
tracker_sparql_pattern_skip_filter (TrackerSparqlPattern* self,
                                    GError** error)
{
	gint n_parens = 0;
	GError * _inner_error_ = NULL;
#line 651 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_FILTER, &_inner_error_);
#line 652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 6588 "tracker-sparql-pattern.c"
		} else {
#line 652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 6596 "tracker-sparql-pattern.c"
		}
	}
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	switch (tracker_sparql_pattern_current (self)) {
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_STR:
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_LANG:
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_LANGMATCHES:
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_DATATYPE:
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_BOUND:
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_SAMETERM:
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISIRI:
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISURI:
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISBLANK:
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_ISLITERAL:
#line 654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		case TRACKER_SPARQL_TOKEN_TYPE_REGEX:
#line 6623 "tracker-sparql-pattern.c"
		{
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			tracker_sparql_pattern_next (self, &_inner_error_);
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_propagate_error (error, _inner_error_);
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 6635 "tracker-sparql-pattern.c"
				} else {
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_clear_error (&_inner_error_);
#line 666 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 6643 "tracker-sparql-pattern.c"
				}
			}
#line 667 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			break;
#line 6648 "tracker-sparql-pattern.c"
		}
		default:
		{
#line 669 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			break;
#line 6654 "tracker-sparql-pattern.c"
		}
	}
#line 672 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 672 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 672 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 672 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 672 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 6667 "tracker-sparql-pattern.c"
		} else {
#line 672 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 672 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 672 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 6675 "tracker-sparql-pattern.c"
		}
	}
#line 673 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	n_parens = 1;
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	while (TRUE) {
#line 6682 "tracker-sparql-pattern.c"
		gint _tmp0_;
		gboolean _tmp1_ = FALSE;
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp0_ = n_parens;
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (!(_tmp0_ > 0)) {
#line 674 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			break;
#line 6691 "tracker-sparql-pattern.c"
		}
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp1_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 6703 "tracker-sparql-pattern.c"
			} else {
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 6711 "tracker-sparql-pattern.c"
			}
		}
#line 675 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp1_) {
#line 6716 "tracker-sparql-pattern.c"
			gint _tmp2_;
#line 676 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp2_ = n_parens;
#line 676 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			n_parens = _tmp2_ + 1;
#line 6722 "tracker-sparql-pattern.c"
		} else {
			gboolean _tmp3_ = FALSE;
#line 677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp3_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_propagate_error (error, _inner_error_);
#line 677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 6735 "tracker-sparql-pattern.c"
				} else {
#line 677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_clear_error (&_inner_error_);
#line 677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 6743 "tracker-sparql-pattern.c"
				}
			}
#line 677 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp3_) {
#line 6748 "tracker-sparql-pattern.c"
				gint _tmp4_;
#line 678 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp4_ = n_parens;
#line 678 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				n_parens = _tmp4_ - 1;
#line 6754 "tracker-sparql-pattern.c"
			} else {
#line 679 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_EOF) {
#line 6758 "tracker-sparql-pattern.c"
					GError* _tmp5_;
#line 680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp5_ = tracker_sparql_pattern_get_error (self, "unexpected end of query, expected )");
#line 680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_inner_error_ = _tmp5_;
#line 680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return;
#line 6770 "tracker-sparql-pattern.c"
					} else {
#line 680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 680 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return;
#line 6778 "tracker-sparql-pattern.c"
					}
				} else {
#line 683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_next (self, &_inner_error_);
#line 683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return;
#line 6791 "tracker-sparql-pattern.c"
						} else {
#line 683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 683 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return;
#line 6799 "tracker-sparql-pattern.c"
						}
					}
				}
			}
		}
	}
}


static void
tracker_sparql_pattern_start_triples_block (TrackerSparqlPattern* self,
                                            GString* sql,
                                            GError** error)
{
	TrackerSparqlQuery* _tmp0_;
	TrackerSparqlContext* _tmp1_;
	TrackerSparqlContext* _tmp2_;
	TrackerSparqlPatternTripleContext* _tmp3_;
	TrackerSparqlPatternTripleContext* _tmp4_;
#line 688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 688 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (sql != NULL);
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = self->priv->query;
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = tracker_sparql_pattern_get_context (self);
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp2_ = _tmp1_;
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp3_ = tracker_sparql_pattern_triple_context_new (_tmp0_, _tmp2_);
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tracker_sparql_context_unref0 (self->priv->triple_context);
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->priv->triple_context = _tmp3_;
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp4_ = self->priv->triple_context;
#line 689 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_set_context (self, (TrackerSparqlContext*) _tmp4_);
#line 691 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_string_append (sql, "SELECT ");
#line 6841 "tracker-sparql-pattern.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 6856 "tracker-sparql-pattern.c"
	}
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (str_array != NULL) {
#line 6860 "tracker-sparql-pattern.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 6866 "tracker-sparql-pattern.c"
		} else {
			gboolean _tmp2_ = FALSE;
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			if (str_array_length1 == -1) {
#line 6871 "tracker-sparql-pattern.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 6877 "tracker-sparql-pattern.c"
			} else {
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp2_ = FALSE;
#line 6881 "tracker-sparql-pattern.c"
			}
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			_tmp1_ = _tmp2_;
#line 6885 "tracker-sparql-pattern.c"
		}
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = _tmp1_;
#line 6889 "tracker-sparql-pattern.c"
	} else {
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = FALSE;
#line 6893 "tracker-sparql-pattern.c"
	}
#line 1095 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (_tmp0_) {
#line 6897 "tracker-sparql-pattern.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 6917 "tracker-sparql-pattern.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 6926 "tracker-sparql-pattern.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 6935 "tracker-sparql-pattern.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 6941 "tracker-sparql-pattern.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 6947 "tracker-sparql-pattern.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 6953 "tracker-sparql-pattern.c"
				} else {
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp7_ = FALSE;
#line 6957 "tracker-sparql-pattern.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 6963 "tracker-sparql-pattern.c"
				} else {
					gboolean _tmp9_ = FALSE;
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					if (str_array_length1 == -1) {
#line 6968 "tracker-sparql-pattern.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 6977 "tracker-sparql-pattern.c"
					} else {
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
						_tmp9_ = FALSE;
#line 6981 "tracker-sparql-pattern.c"
					}
#line 1098 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp6_ = _tmp9_;
#line 6985 "tracker-sparql-pattern.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 6991 "tracker-sparql-pattern.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 6999 "tracker-sparql-pattern.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 7014 "tracker-sparql-pattern.c"
				} else {
#line 1099 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp12_ = 0;
#line 7018 "tracker-sparql-pattern.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 7024 "tracker-sparql-pattern.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 7031 "tracker-sparql-pattern.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 7039 "tracker-sparql-pattern.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 7071 "tracker-sparql-pattern.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 7080 "tracker-sparql-pattern.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 7091 "tracker-sparql-pattern.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 7097 "tracker-sparql-pattern.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 7107 "tracker-sparql-pattern.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 7121 "tracker-sparql-pattern.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 7130 "tracker-sparql-pattern.c"
				} else {
#line 1111 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp38_ = "";
#line 7134 "tracker-sparql-pattern.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 7142 "tracker-sparql-pattern.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 7153 "tracker-sparql-pattern.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 7162 "tracker-sparql-pattern.c"
	}
}


static void
tracker_sparql_pattern_end_triples_block (TrackerSparqlPattern* self,
                                          GString* sql,
                                          gboolean* first_where,
                                          gboolean in_group_graph_pattern,
                                          GError** error)
{
	gssize _tmp0_;
	gboolean first = FALSE;
	TrackerSparqlPatternTripleContext* _tmp1_;
	GList* _tmp2_;
	TrackerSparqlPatternTripleContext* _tmp16_;
	GList* _tmp17_;
	TrackerSparqlPatternTripleContext* _tmp61_;
	GList* _tmp62_;
	TrackerSparqlContext* _tmp86_;
	TrackerSparqlContext* _tmp87_;
	GHashTable* _tmp88_;
	GList* _tmp89_;
	TrackerSparqlContext* _tmp96_;
	TrackerSparqlContext* _tmp97_;
	TrackerSparqlContext* _tmp98_;
	GError * _inner_error_ = NULL;
#line 694 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 694 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (sql != NULL);
#line 696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = sql->len;
#line 696 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_string_truncate (sql, (gsize) (_tmp0_ - 2));
#line 698 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_string_append (sql, " FROM ");
#line 699 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	first = TRUE;
#line 700 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = self->priv->triple_context;
#line 700 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp2_ = _tmp1_->tables;
#line 7206 "tracker-sparql-pattern.c"
	{
		GList* table_collection = NULL;
		GList* table_it = NULL;
#line 700 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		table_collection = _tmp2_;
#line 700 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		for (table_it = table_collection; table_it != NULL; table_it = table_it->next) {
#line 7214 "tracker-sparql-pattern.c"
			TrackerSparqlDataTable* _tmp3_;
			TrackerSparqlDataTable* table = NULL;
#line 700 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp3_ = _g_object_ref0 ((TrackerSparqlDataTable*) table_it->data);
#line 700 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			table = _tmp3_;
#line 7221 "tracker-sparql-pattern.c"
			{
				gboolean _tmp4_;
				TrackerSparqlDataTable* _tmp5_;
				const gchar* _tmp6_;
				TrackerSparqlDataTable* _tmp14_;
				const gchar* _tmp15_;
#line 701 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp4_ = first;
#line 701 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (!_tmp4_) {
#line 702 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (sql, ", ");
#line 7234 "tracker-sparql-pattern.c"
				} else {
#line 704 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					first = FALSE;
#line 7238 "tracker-sparql-pattern.c"
				}
#line 706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp5_ = table;
#line 706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp6_ = _tmp5_->sql_db_tablename;
#line 706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp6_ != NULL) {
#line 7246 "tracker-sparql-pattern.c"
					TrackerSparqlDataTable* _tmp7_;
					const gchar* _tmp8_;
#line 707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp7_ = table;
#line 707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp8_ = _tmp7_->sql_db_tablename;
#line 707 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append_printf (sql, "\"%s\"", _tmp8_);
#line 7255 "tracker-sparql-pattern.c"
				} else {
					gchar* _tmp9_ = NULL;
					TrackerSparqlDataTable* _tmp10_;
					TrackerSparqlPredicateVariable* _tmp11_;
					TrackerSparqlQuery* _tmp12_;
					gchar* _tmp13_;
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp10_ = table;
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp11_ = _tmp10_->predicate_variable;
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp12_ = self->priv->query;
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp13_ = tracker_sparql_predicate_variable_get_sql_query (_tmp11_, _tmp12_, &_inner_error_);
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp9_ = _tmp13_;
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (table);
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return;
#line 7282 "tracker-sparql-pattern.c"
						} else {
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (table);
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %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-pattern.vala"
							g_clear_error (&_inner_error_);
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return;
#line 7292 "tracker-sparql-pattern.c"
						}
					}
#line 709 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append_printf (sql, "(%s)", _tmp9_);
#line 706 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp9_);
#line 7299 "tracker-sparql-pattern.c"
				}
#line 711 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp14_ = table;
#line 711 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp15_ = _tmp14_->sql_query_tablename;
#line 711 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_string_append_printf (sql, " AS \"%s\"", _tmp15_);
#line 700 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (table);
#line 7309 "tracker-sparql-pattern.c"
			}
		}
	}
#line 714 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp16_ = self->priv->triple_context;
#line 714 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp17_ = _tmp16_->variables;
#line 7317 "tracker-sparql-pattern.c"
	{
		GList* variable_collection = NULL;
		GList* variable_it = NULL;
#line 714 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		variable_collection = _tmp17_;
#line 714 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		for (variable_it = variable_collection; variable_it != NULL; variable_it = variable_it->next) {
#line 7325 "tracker-sparql-pattern.c"
			TrackerSparqlVariable* _tmp18_;
			TrackerSparqlVariable* variable = NULL;
#line 714 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp18_ = _g_object_ref0 ((TrackerSparqlVariable*) variable_it->data);
#line 714 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			variable = _tmp18_;
#line 7332 "tracker-sparql-pattern.c"
			{
				gboolean maybe_null = FALSE;
				gboolean in_simple_optional = FALSE;
				TrackerPropertyType last_type = 0;
				gchar* last_name = NULL;
				TrackerSparqlPatternTripleContext* _tmp19_;
				GHashTable* _tmp20_;
				TrackerSparqlVariable* _tmp21_;
				gconstpointer _tmp22_;
				GList* _tmp23_;
				gboolean _tmp55_ = FALSE;
				gboolean _tmp56_;
#line 715 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				maybe_null = TRUE;
#line 716 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				in_simple_optional = FALSE;
#line 717 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				last_type = TRACKER_PROPERTY_TYPE_UNKNOWN;
#line 718 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				last_name = NULL;
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp19_ = self->priv->triple_context;
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp20_ = _tmp19_->var_bindings;
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp21_ = variable;
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp22_ = g_hash_table_lookup (_tmp20_, _tmp21_);
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp23_ = ((TrackerSparqlVariableBindingList*) _tmp22_)->list;
#line 7363 "tracker-sparql-pattern.c"
				{
					GList* binding_collection = NULL;
					GList* binding_it = NULL;
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					binding_collection = _tmp23_;
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					for (binding_it = binding_collection; binding_it != NULL; binding_it = binding_it->next) {
#line 7371 "tracker-sparql-pattern.c"
						TrackerSparqlVariableBinding* _tmp24_;
						TrackerSparqlVariableBinding* binding = NULL;
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp24_ = _g_object_ref0 ((TrackerSparqlVariableBinding*) binding_it->data);
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						binding = _tmp24_;
#line 7378 "tracker-sparql-pattern.c"
						{
							gchar* name = NULL;
							TrackerSparqlVariableBinding* _tmp25_;
							TrackerSparqlDataTable* _tmp26_;
							TrackerPropertyType type = 0;
							TrackerSparqlVariableBinding* _tmp35_;
							TrackerPropertyType _tmp36_;
							const gchar* _tmp37_;
							const gchar* _tmp48_;
							gchar* _tmp49_;
							TrackerPropertyType _tmp50_;
							TrackerSparqlVariableBinding* _tmp51_;
							gboolean _tmp52_;
							TrackerSparqlVariableBinding* _tmp53_;
							gboolean _tmp54_;
#line 721 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp25_ = binding;
#line 721 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp26_ = ((TrackerSparqlDataBinding*) _tmp25_)->table;
#line 721 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (_tmp26_ != NULL) {
#line 7400 "tracker-sparql-pattern.c"
								TrackerSparqlVariableBinding* _tmp27_;
								const gchar* _tmp28_;
								const gchar* _tmp29_;
								gchar* _tmp30_;
#line 722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp27_ = binding;
#line 722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp28_ = tracker_sparql_data_binding_get_sql_expression ((TrackerSparqlDataBinding*) _tmp27_);
#line 722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp29_ = _tmp28_;
#line 722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp30_ = g_strdup (_tmp29_);
#line 722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (name);
#line 722 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								name = _tmp30_;
#line 7417 "tracker-sparql-pattern.c"
							} else {
								TrackerSparqlVariable* _tmp31_;
								const gchar* _tmp32_;
								const gchar* _tmp33_;
								gchar* _tmp34_;
#line 726 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp31_ = variable;
#line 726 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp32_ = tracker_sparql_variable_get_sql_expression (_tmp31_);
#line 726 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp33_ = _tmp32_;
#line 726 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp34_ = g_strdup (_tmp33_);
#line 726 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (name);
#line 726 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								name = _tmp34_;
#line 7435 "tracker-sparql-pattern.c"
							}
#line 728 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp35_ = binding;
#line 728 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp36_ = ((TrackerSparqlDataBinding*) _tmp35_)->data_type;
#line 728 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							type = _tmp36_;
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp37_ = last_name;
#line 729 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (_tmp37_ != NULL) {
#line 7447 "tracker-sparql-pattern.c"
								gboolean _tmp38_ = FALSE;
								TrackerPropertyType _tmp39_;
								gboolean _tmp43_ = FALSE;
								TrackerPropertyType _tmp44_;
#line 730 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (!(*first_where)) {
#line 731 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append (sql, " AND ");
#line 7456 "tracker-sparql-pattern.c"
								} else {
#line 733 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append (sql, " WHERE ");
#line 734 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									*first_where = FALSE;
#line 7462 "tracker-sparql-pattern.c"
								}
#line 737 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp39_ = last_type;
#line 737 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_tmp39_ == TRACKER_PROPERTY_TYPE_STRING) {
#line 7468 "tracker-sparql-pattern.c"
									TrackerPropertyType _tmp40_;
#line 737 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp40_ = type;
#line 737 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp38_ = _tmp40_ == TRACKER_PROPERTY_TYPE_RESOURCE;
#line 7474 "tracker-sparql-pattern.c"
								} else {
#line 737 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp38_ = FALSE;
#line 7478 "tracker-sparql-pattern.c"
								}
#line 737 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_tmp38_) {
#line 7482 "tracker-sparql-pattern.c"
									const gchar* _tmp41_;
#line 738 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp41_ = last_name;
#line 738 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append_printf (sql, "(SELECT ID FROM Resource WHERE Uri = %s)", _tmp41_);
#line 7488 "tracker-sparql-pattern.c"
								} else {
									const gchar* _tmp42_;
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp42_ = last_name;
#line 740 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append (sql, _tmp42_);
#line 7495 "tracker-sparql-pattern.c"
								}
#line 743 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_string_append (sql, " = ");
#line 745 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp44_ = last_type;
#line 745 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_tmp44_ == TRACKER_PROPERTY_TYPE_RESOURCE) {
#line 7503 "tracker-sparql-pattern.c"
									TrackerPropertyType _tmp45_;
#line 745 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp45_ = type;
#line 745 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp43_ = _tmp45_ == TRACKER_PROPERTY_TYPE_STRING;
#line 7509 "tracker-sparql-pattern.c"
								} else {
#line 745 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp43_ = FALSE;
#line 7513 "tracker-sparql-pattern.c"
								}
#line 745 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_tmp43_) {
#line 7517 "tracker-sparql-pattern.c"
									const gchar* _tmp46_;
#line 746 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp46_ = name;
#line 746 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append_printf (sql, "(SELECT ID FROM Resource WHERE Uri = %s)", _tmp46_);
#line 7523 "tracker-sparql-pattern.c"
								} else {
									const gchar* _tmp47_;
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp47_ = name;
#line 748 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append (sql, _tmp47_);
#line 7530 "tracker-sparql-pattern.c"
								}
							}
#line 751 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp48_ = name;
#line 751 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp49_ = g_strdup (_tmp48_);
#line 751 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (last_name);
#line 751 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							last_name = _tmp49_;
#line 752 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp50_ = type;
#line 752 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							last_type = _tmp50_;
#line 753 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp51_ = binding;
#line 753 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp52_ = _tmp51_->maybe_null;
#line 753 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (!_tmp52_) {
#line 754 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								maybe_null = FALSE;
#line 7553 "tracker-sparql-pattern.c"
							}
#line 756 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp53_ = binding;
#line 756 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp54_ = _tmp53_->in_simple_optional;
#line 756 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							in_simple_optional = _tmp54_;
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (name);
#line 719 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (binding);
#line 7565 "tracker-sparql-pattern.c"
						}
					}
				}
#line 759 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp56_ = maybe_null;
#line 759 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp56_) {
#line 7573 "tracker-sparql-pattern.c"
					gboolean _tmp57_;
#line 759 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp57_ = in_simple_optional;
#line 759 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp55_ = !_tmp57_;
#line 7579 "tracker-sparql-pattern.c"
				} else {
#line 759 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp55_ = FALSE;
#line 7583 "tracker-sparql-pattern.c"
				}
#line 759 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp55_) {
#line 7587 "tracker-sparql-pattern.c"
					TrackerSparqlVariable* _tmp58_;
					const gchar* _tmp59_;
					const gchar* _tmp60_;
#line 762 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (!(*first_where)) {
#line 763 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append (sql, " AND ");
#line 7595 "tracker-sparql-pattern.c"
					} else {
#line 765 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append (sql, " WHERE ");
#line 766 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						*first_where = FALSE;
#line 7601 "tracker-sparql-pattern.c"
					}
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp58_ = variable;
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp59_ = tracker_sparql_variable_get_sql_expression (_tmp58_);
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp60_ = _tmp59_;
#line 768 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append_printf (sql, "%s IS NOT NULL", _tmp60_);
#line 7611 "tracker-sparql-pattern.c"
				}
#line 714 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (last_name);
#line 714 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (variable);
#line 7617 "tracker-sparql-pattern.c"
			}
		}
	}
#line 771 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp61_ = self->priv->triple_context;
#line 771 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp62_ = _tmp61_->bindings;
#line 7625 "tracker-sparql-pattern.c"
	{
		GList* binding_collection = NULL;
		GList* binding_it = NULL;
#line 771 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		binding_collection = _tmp62_;
#line 771 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		for (binding_it = binding_collection; binding_it != NULL; binding_it = binding_it->next) {
#line 7633 "tracker-sparql-pattern.c"
			TrackerSparqlLiteralBinding* _tmp63_;
			TrackerSparqlLiteralBinding* binding = NULL;
#line 771 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp63_ = _g_object_ref0 ((TrackerSparqlLiteralBinding*) binding_it->data);
#line 771 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			binding = _tmp63_;
#line 7640 "tracker-sparql-pattern.c"
			{
				TrackerSparqlLiteralBinding* _tmp64_;
				const gchar* _tmp65_;
				const gchar* _tmp66_;
				TrackerSparqlLiteralBinding* _tmp67_;
				gboolean _tmp68_;
#line 772 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (!(*first_where)) {
#line 773 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (sql, " AND ");
#line 7651 "tracker-sparql-pattern.c"
				} else {
#line 775 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (sql, " WHERE ");
#line 776 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					*first_where = FALSE;
#line 7657 "tracker-sparql-pattern.c"
				}
#line 778 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp64_ = binding;
#line 778 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp65_ = tracker_sparql_data_binding_get_sql_expression ((TrackerSparqlDataBinding*) _tmp64_);
#line 778 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp66_ = _tmp65_;
#line 778 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_string_append (sql, _tmp66_);
#line 779 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp67_ = binding;
#line 779 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp68_ = _tmp67_->is_fts_match;
#line 779 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp68_) {
#line 7673 "tracker-sparql-pattern.c"
					gchar* escaped_literal = NULL;
					TrackerSparqlLiteralBinding* _tmp69_;
					const gchar* _tmp70_;
					gchar** _tmp71_;
					gchar** _tmp72_;
					gchar** _tmp73_;
					gint _tmp73__length1;
					gchar* _tmp74_;
					gchar* _tmp75_;
					const gchar* _tmp76_;
					GString* _tmp77_;
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp69_ = binding;
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp70_ = _tmp69_->literal;
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp72_ = _tmp71_ = g_strsplit (_tmp70_, "'", 0);
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp73_ = _tmp72_;
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp73__length1 = _vala_array_length (_tmp71_);
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp74_ = _vala_g_strjoinv ("''", _tmp73_, _vala_array_length (_tmp71_));
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp75_ = _tmp74_;
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp73_ = (_vala_array_free (_tmp73_, _tmp73__length1, (GDestroyNotify) g_free), NULL);
#line 781 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					escaped_literal = _tmp75_;
#line 782 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp76_ = escaped_literal;
#line 782 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append_printf (sql, " MATCH '%s'", _tmp76_);
#line 784 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp77_ = self->match_str;
#line 784 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp77_ == NULL) {
#line 7711 "tracker-sparql-pattern.c"
						GString* _tmp78_;
						GString* _tmp79_;
						const gchar* _tmp80_;
#line 785 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp78_ = g_string_new ("");
#line 785 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_string_free0 (self->match_str);
#line 785 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						self->match_str = _tmp78_;
#line 786 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp79_ = self->match_str;
#line 786 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp80_ = escaped_literal;
#line 786 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append_printf (_tmp79_, " MATCH '%s'", _tmp80_);
#line 7727 "tracker-sparql-pattern.c"
					}
#line 779 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (escaped_literal);
#line 7731 "tracker-sparql-pattern.c"
				} else {
					TrackerSparqlLiteralBinding* _tmp81_;
					TrackerPropertyType _tmp82_;
					TrackerSparqlQuery* _tmp83_;
					TrackerSparqlLiteralBinding* _tmp84_;
					TrackerSparqlLiteralBinding* _tmp85_;
#line 789 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (sql, " = ");
#line 790 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp81_ = binding;
#line 790 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp82_ = ((TrackerSparqlDataBinding*) _tmp81_)->data_type;
#line 790 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp82_ == TRACKER_PROPERTY_TYPE_RESOURCE) {
#line 791 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append (sql, "(SELECT ID FROM Resource WHERE Uri = ?)");
#line 7748 "tracker-sparql-pattern.c"
					} else {
#line 793 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append (sql, "?");
#line 7752 "tracker-sparql-pattern.c"
					}
#line 795 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp83_ = self->priv->query;
#line 795 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp84_ = binding;
#line 795 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp85_ = _g_object_ref0 (_tmp84_);
#line 795 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp83_->bindings = g_list_append (_tmp83_->bindings, _tmp85_);
#line 7762 "tracker-sparql-pattern.c"
				}
#line 771 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (binding);
#line 7766 "tracker-sparql-pattern.c"
			}
		}
	}
#line 799 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (in_group_graph_pattern) {
#line 800 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append (sql, ")");
#line 7774 "tracker-sparql-pattern.c"
	}
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp86_ = tracker_sparql_pattern_get_context (self);
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp87_ = _tmp86_;
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp88_ = _tmp87_->var_set;
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp89_ = g_hash_table_get_keys (_tmp88_);
#line 7784 "tracker-sparql-pattern.c"
	{
		GList* v_collection = NULL;
		GList* v_it = NULL;
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		v_collection = _tmp89_;
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		for (v_it = v_collection; v_it != NULL; v_it = v_it->next) {
#line 7792 "tracker-sparql-pattern.c"
			TrackerSparqlVariable* v = NULL;
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			v = (TrackerSparqlVariable*) v_it->data;
#line 7796 "tracker-sparql-pattern.c"
			{
				TrackerSparqlContext* _tmp90_;
				TrackerSparqlContext* _tmp91_;
				TrackerSparqlContext* _tmp92_;
				GHashTable* _tmp93_;
				TrackerSparqlVariable* _tmp94_;
				TrackerSparqlVariable* _tmp95_;
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp90_ = tracker_sparql_pattern_get_context (self);
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp91_ = _tmp90_;
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp92_ = _tmp91_->parent_context;
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp93_ = _tmp92_->var_set;
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp94_ = v;
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp95_ = _g_object_ref0 (_tmp94_);
#line 804 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_hash_table_insert (_tmp93_, _tmp95_, (gpointer) ((gintptr) ((gint) TRACKER_SPARQL_VARIABLE_STATE_BOUND)));
#line 7818 "tracker-sparql-pattern.c"
			}
		}
#line 803 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_list_free0 (v_collection);
#line 7823 "tracker-sparql-pattern.c"
	}
#line 807 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tracker_sparql_context_unref0 (self->priv->triple_context);
#line 807 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->priv->triple_context = NULL;
#line 808 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp96_ = tracker_sparql_pattern_get_context (self);
#line 808 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp97_ = _tmp96_;
#line 808 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp98_ = _tmp97_->parent_context;
#line 808 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_set_context (self, _tmp98_);
#line 7837 "tracker-sparql-pattern.c"
}


static void
tracker_sparql_pattern_parse_triples (TrackerSparqlPattern* self,
                                      GString* sql,
                                      glong group_graph_pattern_start,
                                      gboolean* in_triples_block,
                                      gboolean* first_where,
                                      gboolean* in_group_graph_pattern,
                                      gboolean found_simple_optional,
                                      GError** error)
{
	GError * _inner_error_ = NULL;
#line 811 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 811 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (sql != NULL);
#line 812 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	while (TRUE) {
#line 7858 "tracker-sparql-pattern.c"
		gboolean _tmp0_ = FALSE;
		gboolean _tmp1_ = FALSE;
		gboolean _tmp2_ = FALSE;
		gboolean _tmp3_ = FALSE;
		gboolean _tmp4_ = FALSE;
		gboolean _tmp5_ = FALSE;
		gchar* _tmp6_ = NULL;
		gboolean _tmp7_ = FALSE;
		gchar* _tmp8_;
		gchar* _tmp9_;
		gboolean _tmp10_ = FALSE;
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_VAR) {
#line 814 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp3_ = tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_IRI_REF;
#line 7874 "tracker-sparql-pattern.c"
		} else {
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp3_ = FALSE;
#line 7878 "tracker-sparql-pattern.c"
		}
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp3_) {
#line 815 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp2_ = tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX;
#line 7884 "tracker-sparql-pattern.c"
		} else {
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp2_ = FALSE;
#line 7888 "tracker-sparql-pattern.c"
		}
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp2_) {
#line 816 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp1_ = tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_COLON;
#line 7894 "tracker-sparql-pattern.c"
		} else {
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp1_ = FALSE;
#line 7898 "tracker-sparql-pattern.c"
		}
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp1_) {
#line 817 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp0_ = tracker_sparql_pattern_current (self) != TRACKER_SPARQL_TOKEN_TYPE_OPEN_BRACKET;
#line 7904 "tracker-sparql-pattern.c"
		} else {
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp0_ = FALSE;
#line 7908 "tracker-sparql-pattern.c"
		}
#line 813 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp0_) {
#line 818 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			break;
#line 7914 "tracker-sparql-pattern.c"
		}
#line 820 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (*in_triples_block) {
#line 820 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp5_ = !(*in_group_graph_pattern);
#line 7920 "tracker-sparql-pattern.c"
		} else {
#line 820 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp5_ = FALSE;
#line 7924 "tracker-sparql-pattern.c"
		}
#line 820 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp5_) {
#line 820 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp4_ = found_simple_optional;
#line 7930 "tracker-sparql-pattern.c"
		} else {
#line 820 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp4_ = FALSE;
#line 7934 "tracker-sparql-pattern.c"
		}
#line 820 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp4_) {
#line 824 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			tracker_sparql_pattern_end_triples_block (self, sql, first_where, *in_group_graph_pattern, &_inner_error_);
#line 824 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 824 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 824 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_propagate_error (error, _inner_error_);
#line 824 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 7948 "tracker-sparql-pattern.c"
				} else {
#line 824 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 824 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_clear_error (&_inner_error_);
#line 824 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 7956 "tracker-sparql-pattern.c"
				}
			}
#line 825 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			*in_triples_block = FALSE;
#line 826 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			*in_group_graph_pattern = TRUE;
#line 7963 "tracker-sparql-pattern.c"
		}
#line 828 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (!(*in_triples_block)) {
#line 829 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (*in_group_graph_pattern) {
#line 830 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_string_insert (sql, (gssize) group_graph_pattern_start, "SELECT * FROM (");
#line 831 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_string_append (sql, ") NATURAL INNER JOIN (");
#line 7973 "tracker-sparql-pattern.c"
			}
#line 833 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			*in_triples_block = TRUE;
#line 834 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			*first_where = TRUE;
#line 835 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			tracker_sparql_pattern_start_triples_block (self, sql, &_inner_error_);
#line 835 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 835 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 835 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_propagate_error (error, _inner_error_);
#line 835 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 7989 "tracker-sparql-pattern.c"
				} else {
#line 835 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 835 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_clear_error (&_inner_error_);
#line 835 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 7997 "tracker-sparql-pattern.c"
				}
			}
		}
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp8_ = tracker_sparql_pattern_parse_var_or_term (self, sql, &_tmp7_, &_inner_error_);
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		self->priv->current_subject_is_var = _tmp7_;
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp6_ = _tmp8_;
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 8015 "tracker-sparql-pattern.c"
			} else {
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %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-pattern.vala"
				g_clear_error (&_inner_error_);
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 8023 "tracker-sparql-pattern.c"
			}
		}
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp9_ = _tmp6_;
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp6_ = NULL;
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (self->priv->current_subject);
#line 838 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		self->priv->current_subject = _tmp9_;
#line 839 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_parse_property_list_not_empty (self, sql, FALSE, &_inner_error_);
#line 839 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 839 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 839 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 839 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp6_);
#line 839 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 8046 "tracker-sparql-pattern.c"
			} else {
#line 839 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp6_);
#line 839 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 839 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 839 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 8056 "tracker-sparql-pattern.c"
			}
		}
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp10_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DOT, &_inner_error_);
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp6_);
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 8071 "tracker-sparql-pattern.c"
			} else {
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp6_);
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %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-pattern.vala"
				g_clear_error (&_inner_error_);
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return;
#line 8081 "tracker-sparql-pattern.c"
			}
		}
#line 841 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (!_tmp10_) {
#line 842 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (_tmp6_);
#line 842 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			break;
#line 8090 "tracker-sparql-pattern.c"
		}
#line 812 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp6_);
#line 8094 "tracker-sparql-pattern.c"
	}
}


static gboolean
tracker_sparql_pattern_is_subclass (TrackerSparqlPattern* self,
                                    TrackerClass* class1,
                                    TrackerClass* class2)
{
	gboolean result = FALSE;
	TrackerClass** _tmp0_;
	TrackerClass** _tmp1_;
#line 847 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 847 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (class1 != NULL, FALSE);
#line 847 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (class2 != NULL, FALSE);
#line 848 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (class1 == class2) {
#line 849 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		result = TRUE;
#line 849 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		return result;
#line 8119 "tracker-sparql-pattern.c"
	}
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = _tmp0_ = tracker_class_get_super_classes (class1);
#line 8123 "tracker-sparql-pattern.c"
	{
		TrackerClass** superclass_collection = NULL;
		gint superclass_collection_length1 = 0;
		gint _superclass_collection_size_ = 0;
		gint superclass_it = 0;
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		superclass_collection = _tmp1_;
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		superclass_collection_length1 = _vala_array_length (_tmp0_);
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		for (superclass_it = 0; superclass_it < _vala_array_length (_tmp0_); superclass_it = superclass_it + 1) {
#line 8135 "tracker-sparql-pattern.c"
			TrackerClass* _tmp2_;
			TrackerClass* superclass = NULL;
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp2_ = _g_object_ref0 (superclass_collection[superclass_it]);
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			superclass = _tmp2_;
#line 8142 "tracker-sparql-pattern.c"
			{
				TrackerClass* _tmp3_;
#line 852 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp3_ = superclass;
#line 852 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (tracker_sparql_pattern_is_subclass (self, _tmp3_, class2)) {
#line 853 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					result = TRUE;
#line 853 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (superclass);
#line 853 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return result;
#line 8155 "tracker-sparql-pattern.c"
				}
#line 851 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (superclass);
#line 8159 "tracker-sparql-pattern.c"
			}
		}
	}
#line 856 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	result = FALSE;
#line 856 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return result;
#line 8167 "tracker-sparql-pattern.c"
}


static gboolean
tracker_sparql_pattern_is_simple_optional (TrackerSparqlPattern* self)
{
	gboolean result = FALSE;
	TrackerSourceLocation optional_start = {0};
	TrackerSourceLocation _tmp0_ = {0};
	gboolean _tmp125_ = FALSE;
	GError * _inner_error_ = NULL;
#line 859 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_get_location (self, &_tmp0_);
#line 860 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	optional_start = _tmp0_;
#line 8185 "tracker-sparql-pattern.c"
	{
		gboolean _tmp3_ = FALSE;
		TrackerSparqlVariable* left_variable = NULL;
		TrackerSparqlContext* _tmp7_;
		TrackerSparqlContext* _tmp8_;
		gchar* _tmp9_;
		gchar* _tmp10_;
		gchar* _tmp11_;
		gchar* _tmp12_;
		TrackerSparqlVariable* _tmp13_;
		TrackerSparqlVariable* _tmp14_;
		TrackerSparqlVariable* _tmp15_;
		gint left_variable_state = 0;
		TrackerSparqlContext* _tmp16_;
		TrackerSparqlContext* _tmp17_;
		GHashTable* _tmp18_;
		TrackerSparqlVariable* _tmp19_;
		gconstpointer _tmp20_;
		gchar* predicate = NULL;
		gboolean _tmp21_ = FALSE;
		TrackerOntologies* ontologies = NULL;
		TrackerDataManager* _tmp58_;
		TrackerOntologies* _tmp59_;
		TrackerOntologies* _tmp60_;
		TrackerProperty* prop = NULL;
		TrackerOntologies* _tmp61_;
		const gchar* _tmp62_;
		TrackerProperty* _tmp63_;
		TrackerProperty* _tmp64_;
		TrackerProperty* _tmp65_;
		gboolean _tmp67_ = FALSE;
		TrackerSparqlVariable* right_variable = NULL;
		TrackerSparqlContext* _tmp71_;
		TrackerSparqlContext* _tmp72_;
		gchar* _tmp73_;
		gchar* _tmp74_;
		gchar* _tmp75_;
		gchar* _tmp76_;
		TrackerSparqlVariable* _tmp77_;
		TrackerSparqlVariable* _tmp78_;
		TrackerSparqlVariable* _tmp79_;
		gint right_variable_state = 0;
		TrackerSparqlContext* _tmp80_;
		TrackerSparqlContext* _tmp81_;
		GHashTable* _tmp82_;
		TrackerSparqlVariable* _tmp83_;
		gconstpointer _tmp84_;
		gboolean _tmp87_ = FALSE;
		gboolean _tmp91_ = FALSE;
		gboolean _tmp92_ = FALSE;
		gint _tmp93_;
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_BRACE, &_inner_error_);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8241 "tracker-sparql-pattern.c"
			gboolean _tmp2_ = FALSE;
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 8245 "tracker-sparql-pattern.c"
				goto __catch1_tracker_sparql_error;
			}
			{
				TrackerSourceLocation _tmp1_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp1_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_set_location (self, &_tmp1_);
#line 8254 "tracker-sparql-pattern.c"
			}
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: unexpected 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-pattern.vala"
			g_clear_error (&_inner_error_);
#line 872 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return _tmp2_;
#line 8262 "tracker-sparql-pattern.c"
		}
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp3_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8268 "tracker-sparql-pattern.c"
			gboolean _tmp5_ = FALSE;
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 8272 "tracker-sparql-pattern.c"
				goto __catch1_tracker_sparql_error;
			}
			{
				TrackerSourceLocation _tmp4_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp4_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_set_location (self, &_tmp4_);
#line 8281 "tracker-sparql-pattern.c"
			}
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return _tmp5_;
#line 8289 "tracker-sparql-pattern.c"
		}
#line 875 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (!_tmp3_) {
#line 876 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			result = FALSE;
#line 8295 "tracker-sparql-pattern.c"
			{
				TrackerSourceLocation _tmp6_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp6_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_set_location (self, &_tmp6_);
#line 8302 "tracker-sparql-pattern.c"
			}
#line 876 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return result;
#line 8306 "tracker-sparql-pattern.c"
		}
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp7_ = tracker_sparql_pattern_get_context (self);
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp8_ = _tmp7_;
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp9_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp10_ = _tmp9_;
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp11_ = string_substring (_tmp10_, (glong) 1, (glong) -1);
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp12_ = _tmp11_;
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp13_ = tracker_sparql_context_get_variable (_tmp8_, _tmp12_);
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp14_ = _g_object_ref0 (_tmp13_);
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp15_ = _tmp14_;
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp12_);
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp10_);
#line 878 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		left_variable = _tmp15_;
#line 879 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp16_ = tracker_sparql_pattern_get_context (self);
#line 879 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp17_ = _tmp16_;
#line 879 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp18_ = _tmp17_->var_set;
#line 879 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp19_ = left_variable;
#line 879 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp20_ = g_hash_table_lookup (_tmp18_, _tmp19_);
#line 879 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		left_variable_state = (gint) ((gintptr) _tmp20_);
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp21_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_IRI_REF, &_inner_error_);
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8348 "tracker-sparql-pattern.c"
			gboolean _tmp23_ = FALSE;
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (predicate);
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (left_variable);
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 8356 "tracker-sparql-pattern.c"
				goto __catch1_tracker_sparql_error;
			}
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (predicate);
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (left_variable);
#line 8363 "tracker-sparql-pattern.c"
			{
				TrackerSourceLocation _tmp22_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp22_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_set_location (self, &_tmp22_);
#line 8370 "tracker-sparql-pattern.c"
			}
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return _tmp23_;
#line 8378 "tracker-sparql-pattern.c"
		}
#line 883 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp21_) {
#line 8382 "tracker-sparql-pattern.c"
			gchar* _tmp24_;
#line 884 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp24_ = tracker_sparql_pattern_get_last_string (self, 1);
#line 884 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (predicate);
#line 884 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			predicate = _tmp24_;
#line 8390 "tracker-sparql-pattern.c"
		} else {
			gboolean _tmp25_ = FALSE;
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp25_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_PN_PREFIX, &_inner_error_);
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8397 "tracker-sparql-pattern.c"
				gboolean _tmp27_ = FALSE;
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (predicate);
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (left_variable);
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 8405 "tracker-sparql-pattern.c"
					goto __catch1_tracker_sparql_error;
				}
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (predicate);
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (left_variable);
#line 8412 "tracker-sparql-pattern.c"
				{
					TrackerSourceLocation _tmp26_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp26_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_set_location (self, &_tmp26_);
#line 8419 "tracker-sparql-pattern.c"
				}
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return _tmp27_;
#line 8427 "tracker-sparql-pattern.c"
			}
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp25_) {
#line 8431 "tracker-sparql-pattern.c"
				gchar* ns = NULL;
				gchar* _tmp28_;
				gchar* _tmp31_ = NULL;
				TrackerSparqlQuery* _tmp32_;
				const gchar* _tmp33_;
				gchar* _tmp34_;
				gchar* _tmp35_;
				gchar* _tmp36_;
				gchar* _tmp37_;
				gchar* _tmp38_;
				gchar* _tmp39_;
				gchar* _tmp42_;
#line 886 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp28_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 886 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				ns = _tmp28_;
#line 887 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_COLON, &_inner_error_);
#line 887 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8452 "tracker-sparql-pattern.c"
					gboolean _tmp30_ = FALSE;
#line 887 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (ns);
#line 887 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (predicate);
#line 887 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (left_variable);
#line 887 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 8462 "tracker-sparql-pattern.c"
						goto __catch1_tracker_sparql_error;
					}
#line 887 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (ns);
#line 887 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (predicate);
#line 887 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (left_variable);
#line 8471 "tracker-sparql-pattern.c"
					{
						TrackerSourceLocation _tmp29_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp29_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						tracker_sparql_pattern_set_location (self, &_tmp29_);
#line 8478 "tracker-sparql-pattern.c"
					}
#line 887 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 887 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_clear_error (&_inner_error_);
#line 887 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return _tmp30_;
#line 8486 "tracker-sparql-pattern.c"
				}
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp32_ = self->priv->query;
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp33_ = ns;
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp34_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp35_ = _tmp34_;
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp36_ = string_substring (_tmp35_, (glong) 1, (glong) -1);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp37_ = _tmp36_;
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp38_ = tracker_sparql_query_resolve_prefixed_name (_tmp32_, _tmp33_, _tmp37_, &_inner_error_);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp39_ = _tmp38_;
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp37_);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp35_);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp31_ = _tmp39_;
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8512 "tracker-sparql-pattern.c"
					gboolean _tmp41_ = FALSE;
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (ns);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (predicate);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (left_variable);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 8522 "tracker-sparql-pattern.c"
						goto __catch1_tracker_sparql_error;
					}
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (ns);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (predicate);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (left_variable);
#line 8531 "tracker-sparql-pattern.c"
					{
						TrackerSourceLocation _tmp40_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp40_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						tracker_sparql_pattern_set_location (self, &_tmp40_);
#line 8538 "tracker-sparql-pattern.c"
					}
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_clear_error (&_inner_error_);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return _tmp41_;
#line 8546 "tracker-sparql-pattern.c"
				}
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp42_ = _tmp31_;
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp31_ = NULL;
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (predicate);
#line 888 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				predicate = _tmp42_;
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp31_);
#line 885 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (ns);
#line 8560 "tracker-sparql-pattern.c"
			} else {
				gboolean _tmp43_ = FALSE;
#line 889 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp43_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_COLON, &_inner_error_);
#line 889 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8567 "tracker-sparql-pattern.c"
					gboolean _tmp45_ = FALSE;
#line 889 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (predicate);
#line 889 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (left_variable);
#line 889 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 8575 "tracker-sparql-pattern.c"
						goto __catch1_tracker_sparql_error;
					}
#line 889 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (predicate);
#line 889 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (left_variable);
#line 8582 "tracker-sparql-pattern.c"
					{
						TrackerSourceLocation _tmp44_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp44_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						tracker_sparql_pattern_set_location (self, &_tmp44_);
#line 8589 "tracker-sparql-pattern.c"
					}
#line 889 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 889 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_clear_error (&_inner_error_);
#line 889 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return _tmp45_;
#line 8597 "tracker-sparql-pattern.c"
				}
#line 889 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp43_) {
#line 8601 "tracker-sparql-pattern.c"
					gchar* _tmp46_ = NULL;
					TrackerSparqlQuery* _tmp47_;
					gchar* _tmp48_;
					gchar* _tmp49_;
					gchar* _tmp50_;
					gchar* _tmp51_;
					gchar* _tmp52_;
					gchar* _tmp53_;
					gchar* _tmp56_;
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp47_ = self->priv->query;
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp48_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp49_ = _tmp48_;
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp50_ = string_substring (_tmp49_, (glong) 1, (glong) -1);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp51_ = _tmp50_;
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp52_ = tracker_sparql_query_resolve_prefixed_name (_tmp47_, "", _tmp51_, &_inner_error_);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp53_ = _tmp52_;
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp51_);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp49_);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp46_ = _tmp53_;
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8633 "tracker-sparql-pattern.c"
						gboolean _tmp55_ = FALSE;
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (predicate);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (left_variable);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 8641 "tracker-sparql-pattern.c"
							goto __catch1_tracker_sparql_error;
						}
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (predicate);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (left_variable);
#line 8648 "tracker-sparql-pattern.c"
						{
							TrackerSourceLocation _tmp54_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp54_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							tracker_sparql_pattern_set_location (self, &_tmp54_);
#line 8655 "tracker-sparql-pattern.c"
						}
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return _tmp55_;
#line 8663 "tracker-sparql-pattern.c"
					}
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp56_ = _tmp46_;
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp46_ = NULL;
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (predicate);
#line 890 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					predicate = _tmp56_;
#line 889 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp46_);
#line 8675 "tracker-sparql-pattern.c"
				} else {
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					result = FALSE;
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (predicate);
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (left_variable);
#line 8683 "tracker-sparql-pattern.c"
					{
						TrackerSourceLocation _tmp57_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp57_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						tracker_sparql_pattern_set_location (self, &_tmp57_);
#line 8690 "tracker-sparql-pattern.c"
					}
#line 892 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return result;
#line 8694 "tracker-sparql-pattern.c"
				}
			}
		}
#line 894 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp58_ = self->priv->manager;
#line 894 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp59_ = tracker_data_manager_get_ontologies (_tmp58_);
#line 894 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp60_ = _g_object_ref0 (_tmp59_);
#line 894 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		ontologies = _tmp60_;
#line 895 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp61_ = ontologies;
#line 895 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp62_ = predicate;
#line 895 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp63_ = tracker_ontologies_get_property_by_uri (_tmp61_, _tmp62_);
#line 895 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp64_ = _g_object_ref0 (_tmp63_);
#line 895 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		prop = _tmp64_;
#line 896 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp65_ = prop;
#line 896 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp65_ == NULL) {
#line 897 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			result = FALSE;
#line 897 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (prop);
#line 897 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (ontologies);
#line 897 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (predicate);
#line 897 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (left_variable);
#line 8730 "tracker-sparql-pattern.c"
			{
				TrackerSourceLocation _tmp66_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp66_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_set_location (self, &_tmp66_);
#line 8737 "tracker-sparql-pattern.c"
			}
#line 897 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return result;
#line 8741 "tracker-sparql-pattern.c"
		}
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp67_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8747 "tracker-sparql-pattern.c"
			gboolean _tmp69_ = FALSE;
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (prop);
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (ontologies);
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (predicate);
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (left_variable);
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 8759 "tracker-sparql-pattern.c"
				goto __catch1_tracker_sparql_error;
			}
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (prop);
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (ontologies);
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (predicate);
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (left_variable);
#line 8770 "tracker-sparql-pattern.c"
			{
				TrackerSourceLocation _tmp68_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp68_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_set_location (self, &_tmp68_);
#line 8777 "tracker-sparql-pattern.c"
			}
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return _tmp69_;
#line 8785 "tracker-sparql-pattern.c"
		}
#line 901 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (!_tmp67_) {
#line 902 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			result = FALSE;
#line 902 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (prop);
#line 902 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (ontologies);
#line 902 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (predicate);
#line 902 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (left_variable);
#line 8799 "tracker-sparql-pattern.c"
			{
				TrackerSourceLocation _tmp70_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp70_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_set_location (self, &_tmp70_);
#line 8806 "tracker-sparql-pattern.c"
			}
#line 902 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return result;
#line 8810 "tracker-sparql-pattern.c"
		}
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp71_ = tracker_sparql_pattern_get_context (self);
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp72_ = _tmp71_;
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp73_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp74_ = _tmp73_;
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp75_ = string_substring (_tmp74_, (glong) 1, (glong) -1);
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp76_ = _tmp75_;
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp77_ = tracker_sparql_context_get_variable (_tmp72_, _tmp76_);
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp78_ = _g_object_ref0 (_tmp77_);
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp79_ = _tmp78_;
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp76_);
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp74_);
#line 904 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		right_variable = _tmp79_;
#line 905 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp80_ = tracker_sparql_pattern_get_context (self);
#line 905 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp81_ = _tmp80_;
#line 905 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp82_ = _tmp81_->var_set;
#line 905 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp83_ = right_variable;
#line 905 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp84_ = g_hash_table_lookup (_tmp82_, _tmp83_);
#line 905 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		right_variable_state = (gint) ((gintptr) _tmp84_);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_optional (self, TRACKER_SPARQL_TOKEN_TYPE_DOT, &_inner_error_);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8852 "tracker-sparql-pattern.c"
			gboolean _tmp86_ = FALSE;
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (right_variable);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (prop);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (ontologies);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (predicate);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (left_variable);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 8866 "tracker-sparql-pattern.c"
				goto __catch1_tracker_sparql_error;
			}
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (right_variable);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (prop);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (ontologies);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (predicate);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (left_variable);
#line 8879 "tracker-sparql-pattern.c"
			{
				TrackerSourceLocation _tmp85_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp85_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_set_location (self, &_tmp85_);
#line 8886 "tracker-sparql-pattern.c"
			}
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 907 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return _tmp86_;
#line 8894 "tracker-sparql-pattern.c"
		}
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp87_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_BRACE, &_inner_error_);
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8900 "tracker-sparql-pattern.c"
			gboolean _tmp89_ = FALSE;
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (right_variable);
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (prop);
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (ontologies);
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (predicate);
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (left_variable);
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 8914 "tracker-sparql-pattern.c"
				goto __catch1_tracker_sparql_error;
			}
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (right_variable);
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (prop);
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (ontologies);
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (predicate);
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (left_variable);
#line 8927 "tracker-sparql-pattern.c"
			{
				TrackerSourceLocation _tmp88_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp88_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_set_location (self, &_tmp88_);
#line 8934 "tracker-sparql-pattern.c"
			}
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return _tmp89_;
#line 8942 "tracker-sparql-pattern.c"
		}
#line 910 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (!_tmp87_) {
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			result = FALSE;
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (right_variable);
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (prop);
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (ontologies);
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (predicate);
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (left_variable);
#line 8958 "tracker-sparql-pattern.c"
			{
				TrackerSourceLocation _tmp90_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp90_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_set_location (self, &_tmp90_);
#line 8965 "tracker-sparql-pattern.c"
			}
#line 911 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return result;
#line 8969 "tracker-sparql-pattern.c"
		}
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp93_ = left_variable_state;
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp93_ == ((gint) TRACKER_SPARQL_VARIABLE_STATE_BOUND)) {
#line 8975 "tracker-sparql-pattern.c"
			TrackerProperty* _tmp94_;
			gboolean _tmp95_;
			gboolean _tmp96_;
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp94_ = prop;
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp95_ = tracker_property_get_multiple_values (_tmp94_);
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp96_ = _tmp95_;
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp92_ = !_tmp96_;
#line 8987 "tracker-sparql-pattern.c"
		} else {
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp92_ = FALSE;
#line 8991 "tracker-sparql-pattern.c"
		}
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp92_) {
#line 8995 "tracker-sparql-pattern.c"
			gint _tmp97_;
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp97_ = right_variable_state;
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp91_ = _tmp97_ == 0;
#line 9001 "tracker-sparql-pattern.c"
		} else {
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp91_ = FALSE;
#line 9005 "tracker-sparql-pattern.c"
		}
#line 914 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp91_) {
#line 9009 "tracker-sparql-pattern.c"
			gboolean in_domain = FALSE;
			TrackerSparqlPatternTripleContext* _tmp98_;
			GHashTable* _tmp99_;
			TrackerSparqlVariable* _tmp100_;
			gconstpointer _tmp101_;
			GList* _tmp102_;
			gboolean _tmp112_;
#line 915 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			in_domain = FALSE;
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp98_ = self->priv->triple_context;
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp99_ = _tmp98_->var_bindings;
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp100_ = left_variable;
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp101_ = g_hash_table_lookup (_tmp99_, _tmp100_);
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp102_ = ((TrackerSparqlVariableBindingList*) _tmp101_)->list;
#line 9029 "tracker-sparql-pattern.c"
			{
				GList* binding_collection = NULL;
				GList* binding_it = NULL;
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				binding_collection = _tmp102_;
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				for (binding_it = binding_collection; binding_it != NULL; binding_it = binding_it->next) {
#line 9037 "tracker-sparql-pattern.c"
					TrackerSparqlVariableBinding* _tmp103_;
					TrackerSparqlVariableBinding* binding = NULL;
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp103_ = _g_object_ref0 ((TrackerSparqlVariableBinding*) binding_it->data);
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					binding = _tmp103_;
#line 9044 "tracker-sparql-pattern.c"
					{
						gboolean _tmp104_ = FALSE;
						TrackerSparqlVariableBinding* _tmp105_;
						TrackerClass* _tmp106_;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp105_ = binding;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp106_ = _tmp105_->type;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_tmp106_ != NULL) {
#line 9055 "tracker-sparql-pattern.c"
							TrackerSparqlVariableBinding* _tmp107_;
							TrackerClass* _tmp108_;
							TrackerProperty* _tmp109_;
							TrackerClass* _tmp110_;
							TrackerClass* _tmp111_;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp107_ = binding;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp108_ = _tmp107_->type;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp109_ = prop;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp110_ = tracker_property_get_domain (_tmp109_);
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp111_ = _tmp110_;
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp104_ = tracker_sparql_pattern_is_subclass (self, _tmp108_, _tmp111_);
#line 9073 "tracker-sparql-pattern.c"
						} else {
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp104_ = FALSE;
#line 9077 "tracker-sparql-pattern.c"
						}
#line 917 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_tmp104_) {
#line 918 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							in_domain = TRUE;
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (binding);
#line 919 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							break;
#line 9087 "tracker-sparql-pattern.c"
						}
#line 916 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (binding);
#line 9091 "tracker-sparql-pattern.c"
					}
				}
			}
#line 923 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp112_ = in_domain;
#line 923 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp112_) {
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				result = TRUE;
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (right_variable);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (prop);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (ontologies);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (predicate);
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (left_variable);
#line 9111 "tracker-sparql-pattern.c"
				{
					TrackerSourceLocation _tmp113_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp113_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_set_location (self, &_tmp113_);
#line 9118 "tracker-sparql-pattern.c"
				}
#line 925 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return result;
#line 9122 "tracker-sparql-pattern.c"
			}
		} else {
			gboolean _tmp114_ = FALSE;
			gboolean _tmp115_ = FALSE;
			gint _tmp116_;
#line 927 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp116_ = left_variable_state;
#line 927 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp116_ == 0) {
#line 9132 "tracker-sparql-pattern.c"
				TrackerProperty* _tmp117_;
				gboolean _tmp118_;
				gboolean _tmp119_;
#line 927 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp117_ = prop;
#line 927 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp118_ = tracker_property_get_is_inverse_functional_property (_tmp117_);
#line 927 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp119_ = _tmp118_;
#line 927 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp115_ = _tmp119_;
#line 9144 "tracker-sparql-pattern.c"
			} else {
#line 927 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp115_ = FALSE;
#line 9148 "tracker-sparql-pattern.c"
			}
#line 927 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp115_) {
#line 9152 "tracker-sparql-pattern.c"
				gint _tmp120_;
#line 927 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp120_ = right_variable_state;
#line 927 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp114_ = _tmp120_ == ((gint) TRACKER_SPARQL_VARIABLE_STATE_BOUND);
#line 9158 "tracker-sparql-pattern.c"
			} else {
#line 927 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp114_ = FALSE;
#line 9162 "tracker-sparql-pattern.c"
			}
#line 927 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp114_) {
#line 929 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				result = TRUE;
#line 929 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (right_variable);
#line 929 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (prop);
#line 929 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (ontologies);
#line 929 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (predicate);
#line 929 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (left_variable);
#line 9178 "tracker-sparql-pattern.c"
				{
					TrackerSourceLocation _tmp121_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp121_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_set_location (self, &_tmp121_);
#line 9185 "tracker-sparql-pattern.c"
				}
#line 929 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return result;
#line 9189 "tracker-sparql-pattern.c"
			}
		}
#line 933 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		result = FALSE;
#line 933 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (right_variable);
#line 933 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (prop);
#line 933 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (ontologies);
#line 933 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (predicate);
#line 933 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (left_variable);
#line 9204 "tracker-sparql-pattern.c"
		{
			TrackerSourceLocation _tmp122_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp122_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			tracker_sparql_pattern_set_location (self, &_tmp122_);
#line 9211 "tracker-sparql-pattern.c"
		}
#line 933 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		return result;
#line 9215 "tracker-sparql-pattern.c"
	}
	goto __finally1;
	__catch1_tracker_sparql_error:
	{
		GError* e = NULL;
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		e = _inner_error_;
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_inner_error_ = NULL;
#line 935 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		result = FALSE;
#line 935 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_error_free0 (e);
#line 9229 "tracker-sparql-pattern.c"
		{
			TrackerSourceLocation _tmp123_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp123_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			tracker_sparql_pattern_set_location (self, &_tmp123_);
#line 9236 "tracker-sparql-pattern.c"
		}
#line 935 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		return result;
#line 9240 "tracker-sparql-pattern.c"
	}
	__finally1:
	{
		TrackerSourceLocation _tmp124_;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp124_ = optional_start;
#line 938 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_set_location (self, &_tmp124_);
#line 9249 "tracker-sparql-pattern.c"
	}
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_clear_error (&_inner_error_);
#line 861 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return _tmp125_;
#line 9257 "tracker-sparql-pattern.c"
}


static gpointer
_g_hash_table_ref0 (gpointer self)
{
#line 950 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return self ? g_hash_table_ref (self) : NULL;
#line 9266 "tracker-sparql-pattern.c"
}


static guint
_tracker_sparql_variable_hash_ghash_func (gconstpointer key)
{
	guint result;
	result = tracker_sparql_variable_hash ((TrackerSparqlVariable*) key);
#line 951 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return result;
#line 9277 "tracker-sparql-pattern.c"
}


static gboolean
_tracker_sparql_variable_equal_gequal_func (gconstpointer a,
                                            gconstpointer b)
{
	gboolean result;
	result = tracker_sparql_variable_equal ((TrackerSparqlVariable*) a, (TrackerSparqlVariable*) b);
#line 951 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return result;
#line 9289 "tracker-sparql-pattern.c"
}


static void
_vala_array_add8 (TrackerSourceLocation* * array,
                  int* length,
                  int* size,
                  const TrackerSourceLocation* value)
{
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if ((*length) == (*size)) {
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		*array = g_renew (TrackerSourceLocation, *array, *size);
#line 9305 "tracker-sparql-pattern.c"
	}
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	(*array)[(*length)++] = *value;
#line 9309 "tracker-sparql-pattern.c"
}


TrackerSparqlContext*
tracker_sparql_pattern_translate_group_graph_pattern (TrackerSparqlPattern* self,
                                                      GString* sql,
                                                      GError** error)
{
	TrackerSparqlContext* result = NULL;
	TrackerSparqlContext* _result_ = NULL;
	TrackerSparqlQuery* _tmp15_;
	TrackerSparqlContext* _tmp16_;
	TrackerSparqlContext* _tmp17_;
	TrackerSparqlContext* _tmp18_;
	TrackerSparqlContext* _tmp19_;
	TrackerSourceLocation* filters = NULL;
	TrackerSourceLocation* _tmp20_;
	gint filters_length1;
	gint _filters_size_;
	gboolean in_triples_block = FALSE;
	gboolean in_group_graph_pattern = FALSE;
	gboolean first_where = FALSE;
	gboolean found_simple_optional = FALSE;
	glong group_graph_pattern_start = 0L;
	gssize _tmp21_;
	glong _tmp22_;
	gboolean _tmp23_;
	gboolean _tmp271_ = FALSE;
	gboolean _tmp272_;
	gboolean _tmp276_;
	TrackerSourceLocation* _tmp277_;
	gint _tmp277__length1;
	TrackerSparqlContext* _tmp283_;
	TrackerSparqlContext* _tmp284_;
	TrackerSparqlContext* _tmp285_;
	GError * _inner_error_ = NULL;
#line 942 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 942 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (sql != NULL, NULL);
#line 943 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_BRACE, &_inner_error_);
#line 943 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 943 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 943 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 943 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 9360 "tracker-sparql-pattern.c"
		} else {
#line 943 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 943 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 943 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 9368 "tracker-sparql-pattern.c"
		}
	}
#line 945 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_SELECT) {
#line 9373 "tracker-sparql-pattern.c"
		TrackerSparqlSelectContext* _result_ = NULL;
		TrackerSparqlSelectContext* _tmp0_;
		TrackerSparqlSelectContext* _tmp1_;
		TrackerSparqlContext* _tmp2_;
		TrackerSparqlContext* _tmp3_;
		TrackerSparqlContext* _tmp4_;
		TrackerSparqlContext* _tmp5_;
		GHashTable* _tmp6_;
		GHashTable* _tmp7_;
		TrackerSparqlContext* _tmp8_;
		TrackerSparqlContext* _tmp9_;
		GDestroyNotify _tmp10_;
		GHashTable* _tmp11_;
		TrackerSparqlContext* _tmp12_;
		TrackerSparqlContext* _tmp13_;
		TrackerSparqlContext* _tmp14_;
#line 946 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp0_ = tracker_sparql_pattern_translate_select (self, sql, TRUE, FALSE, &_inner_error_);
#line 946 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_result_ = _tmp0_;
#line 946 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 946 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 946 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 946 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 9402 "tracker-sparql-pattern.c"
			} else {
#line 946 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 946 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 946 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 9410 "tracker-sparql-pattern.c"
			}
		}
#line 947 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp1_ = _result_;
#line 947 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_set_context (self, (TrackerSparqlContext*) _tmp1_);
#line 950 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp2_ = tracker_sparql_pattern_get_context (self);
#line 950 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp3_ = _tmp2_;
#line 950 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp4_ = tracker_sparql_pattern_get_context (self);
#line 950 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp5_ = _tmp4_;
#line 950 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp6_ = _tmp5_->select_var_set;
#line 950 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp7_ = _g_hash_table_ref0 (_tmp6_);
#line 950 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_hash_table_unref0 (_tmp3_->var_set);
#line 950 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp3_->var_set = _tmp7_;
#line 951 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp8_ = tracker_sparql_pattern_get_context (self);
#line 951 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp9_ = _tmp8_;
#line 951 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp10_ = g_object_unref;
#line 951 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp11_ = g_hash_table_new_full (_tracker_sparql_variable_hash_ghash_func, _tracker_sparql_variable_equal_gequal_func, _tmp10_, NULL);
#line 951 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_hash_table_unref0 (_tmp9_->select_var_set);
#line 951 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp9_->select_var_set = _tmp11_;
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_BRACE, &_inner_error_);
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 9457 "tracker-sparql-pattern.c"
			} else {
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 953 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 9467 "tracker-sparql-pattern.c"
			}
		}
#line 955 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp12_ = tracker_sparql_pattern_get_context (self);
#line 955 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp13_ = _tmp12_;
#line 955 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp14_ = _tmp13_->parent_context;
#line 955 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_set_context (self, _tmp14_);
#line 956 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		result = (TrackerSparqlContext*) _result_;
#line 956 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		return result;
#line 9482 "tracker-sparql-pattern.c"
	}
#line 959 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp15_ = self->priv->query;
#line 959 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp16_ = tracker_sparql_pattern_get_context (self);
#line 959 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp17_ = _tmp16_;
#line 959 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp18_ = tracker_sparql_context_new (_tmp15_, _tmp17_);
#line 959 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_result_ = _tmp18_;
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp19_ = _result_;
#line 960 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_set_context (self, _tmp19_);
#line 962 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp20_ = g_new0 (TrackerSourceLocation, 0);
#line 962 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	filters = _tmp20_;
#line 962 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	filters_length1 = 0;
#line 962 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_filters_size_ = filters_length1;
#line 964 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	in_triples_block = FALSE;
#line 965 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	in_group_graph_pattern = FALSE;
#line 966 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	first_where = TRUE;
#line 967 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	found_simple_optional = FALSE;
#line 968 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp21_ = sql->len;
#line 968 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	group_graph_pattern_start = (glong) _tmp21_;
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp22_ = group_graph_pattern_start;
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp23_ = found_simple_optional;
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_parse_triples (self, sql, _tmp22_, &in_triples_block, &first_where, &in_group_graph_pattern, _tmp23_, &_inner_error_);
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			filters = (g_free (filters), NULL);
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 9536 "tracker-sparql-pattern.c"
		} else {
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			filters = (g_free (filters), NULL);
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_clear_error (&_inner_error_);
#line 971 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 9548 "tracker-sparql-pattern.c"
		}
	}
#line 973 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	while (TRUE) {
#line 9553 "tracker-sparql-pattern.c"
		gboolean _tmp24_ = FALSE;
		glong _tmp269_;
		gboolean _tmp270_;
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp24_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_OPTIONAL, &_inner_error_);
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				filters = (g_free (filters), NULL);
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 9571 "tracker-sparql-pattern.c"
			} else {
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				filters = (g_free (filters), NULL);
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 9583 "tracker-sparql-pattern.c"
			}
		}
#line 975 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp24_) {
#line 9588 "tracker-sparql-pattern.c"
			gboolean _tmp25_ = FALSE;
			gboolean _tmp26_;
#line 976 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp26_ = in_group_graph_pattern;
#line 976 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (!_tmp26_) {
#line 976 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp25_ = tracker_sparql_pattern_is_simple_optional (self);
#line 9597 "tracker-sparql-pattern.c"
			} else {
#line 976 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp25_ = FALSE;
#line 9601 "tracker-sparql-pattern.c"
			}
#line 976 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp25_) {
#line 9605 "tracker-sparql-pattern.c"
				gchar* _tmp27_ = NULL;
				gboolean _tmp28_ = FALSE;
				gchar* _tmp29_;
				gchar* _tmp30_;
#line 978 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				found_simple_optional = TRUE;
#line 979 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_BRACE, &_inner_error_);
#line 979 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 979 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 979 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 979 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 979 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 979 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 9626 "tracker-sparql-pattern.c"
					} else {
#line 979 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 979 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 979 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 979 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 979 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 9638 "tracker-sparql-pattern.c"
					}
				}
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp29_ = tracker_sparql_pattern_parse_var_or_term (self, sql, &_tmp28_, &_inner_error_);
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				self->priv->current_subject_is_var = _tmp28_;
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp27_ = _tmp29_;
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 9659 "tracker-sparql-pattern.c"
					} else {
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 9671 "tracker-sparql-pattern.c"
					}
				}
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp30_ = _tmp27_;
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp27_ = NULL;
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (self->priv->current_subject);
#line 981 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				self->priv->current_subject = _tmp30_;
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_parse_property_list_not_empty (self, sql, TRUE, &_inner_error_);
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_tmp27_);
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 9698 "tracker-sparql-pattern.c"
					} else {
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_tmp27_);
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 982 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 9712 "tracker-sparql-pattern.c"
					}
				}
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_DOT, &_inner_error_);
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_tmp27_);
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 9731 "tracker-sparql-pattern.c"
					} else {
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_tmp27_);
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 984 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 9745 "tracker-sparql-pattern.c"
					}
				}
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_BRACE, &_inner_error_);
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_tmp27_);
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 9764 "tracker-sparql-pattern.c"
					} else {
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_tmp27_);
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 985 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 9778 "tracker-sparql-pattern.c"
					}
				}
#line 976 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp27_);
#line 9783 "tracker-sparql-pattern.c"
			} else {
				gboolean _tmp31_ = FALSE;
				gboolean _tmp32_;
				gboolean _tmp36_;
				GString* select = NULL;
				GString* _tmp37_;
				gint left_index = 0;
				gint _tmp38_;
				gint _tmp39_;
				gint right_index = 0;
				gint _tmp40_;
				gint _tmp41_;
				gint _tmp42_;
				TrackerSparqlContext* _tmp43_ = NULL;
				TrackerSparqlContext* _tmp44_;
				gint _tmp45_;
				gboolean first = FALSE;
				gboolean first_common = FALSE;
				TrackerSparqlContext* _tmp46_;
				TrackerSparqlContext* _tmp47_;
				GHashTable* _tmp48_;
				GList* _tmp49_;
				TrackerSparqlContext* _tmp163_;
				TrackerSparqlContext* _tmp164_;
				TrackerSparqlContext* _tmp165_;
				GHashTable* _tmp166_;
				GList* _tmp167_;
				gboolean _tmp193_;
				TrackerSparqlContext* _tmp195_;
				TrackerSparqlContext* _tmp196_;
				TrackerSparqlContext* _tmp197_;
				GString* _tmp198_;
				glong _tmp199_;
				GString* _tmp200_;
				const gchar* _tmp201_;
				glong _tmp202_;
#line 987 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp32_ = in_triples_block;
#line 987 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (!_tmp32_) {
#line 9824 "tracker-sparql-pattern.c"
					gboolean _tmp33_;
#line 987 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp33_ = in_group_graph_pattern;
#line 987 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp31_ = !_tmp33_;
#line 9830 "tracker-sparql-pattern.c"
				} else {
#line 987 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp31_ = FALSE;
#line 9834 "tracker-sparql-pattern.c"
				}
#line 987 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp31_) {
#line 990 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (sql, "SELECT 1");
#line 9840 "tracker-sparql-pattern.c"
				} else {
					gboolean _tmp34_;
#line 991 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp34_ = in_triples_block;
#line 991 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp34_) {
#line 9847 "tracker-sparql-pattern.c"
						gboolean _tmp35_;
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp35_ = in_group_graph_pattern;
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						tracker_sparql_pattern_end_triples_block (self, sql, &first_where, _tmp35_, &_inner_error_);
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_propagate_error (error, _inner_error_);
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								filters = (g_free (filters), NULL);
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tracker_sparql_context_unref0 (_result_);
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								return NULL;
#line 9865 "tracker-sparql-pattern.c"
							} else {
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								filters = (g_free (filters), NULL);
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tracker_sparql_context_unref0 (_result_);
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_clear_error (&_inner_error_);
#line 992 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								return NULL;
#line 9877 "tracker-sparql-pattern.c"
							}
						}
#line 993 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						in_triples_block = FALSE;
#line 9882 "tracker-sparql-pattern.c"
					}
				}
#line 995 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp36_ = in_group_graph_pattern;
#line 995 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (!_tmp36_) {
#line 996 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					in_group_graph_pattern = TRUE;
#line 9891 "tracker-sparql-pattern.c"
				}
#line 999 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp37_ = g_string_new ("SELECT ");
#line 999 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				select = _tmp37_;
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp38_ = self->priv->next_table_index;
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				self->priv->next_table_index = _tmp38_ + 1;
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp39_ = self->priv->next_table_index;
#line 1001 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				left_index = _tmp39_;
#line 1002 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp40_ = self->priv->next_table_index;
#line 1002 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				self->priv->next_table_index = _tmp40_ + 1;
#line 1002 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp41_ = self->priv->next_table_index;
#line 1002 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				right_index = _tmp41_;
#line 1004 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp42_ = left_index;
#line 1004 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_string_append_printf (sql, ") AS t%d_g LEFT JOIN (", _tmp42_);
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp44_ = tracker_sparql_pattern_translate_group_graph_pattern (self, sql, &_inner_error_);
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp43_ = _tmp44_;
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_string_free0 (select);
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 9935 "tracker-sparql-pattern.c"
					} else {
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_string_free0 (select);
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 9949 "tracker-sparql-pattern.c"
					}
				}
#line 1006 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_set_context (self, _tmp43_);
#line 1008 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp45_ = right_index;
#line 1008 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_string_append_printf (sql, ") AS t%d_g", _tmp45_);
#line 1010 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				first = TRUE;
#line 1011 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				first_common = TRUE;
#line 1012 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp46_ = tracker_sparql_pattern_get_context (self);
#line 1012 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp47_ = _tmp46_;
#line 1012 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp48_ = _tmp47_->var_set;
#line 1012 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp49_ = g_hash_table_get_keys (_tmp48_);
#line 9970 "tracker-sparql-pattern.c"
				{
					GList* v_collection = NULL;
					GList* v_it = NULL;
#line 1012 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					v_collection = _tmp49_;
#line 1012 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					for (v_it = v_collection; v_it != NULL; v_it = v_it->next) {
#line 9978 "tracker-sparql-pattern.c"
						TrackerSparqlVariable* v = NULL;
#line 1012 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						v = (TrackerSparqlVariable*) v_it->data;
#line 9982 "tracker-sparql-pattern.c"
						{
							gboolean _tmp50_;
							gint old_state = 0;
							TrackerSparqlContext* _tmp52_;
							TrackerSparqlContext* _tmp53_;
							TrackerSparqlContext* _tmp54_;
							GHashTable* _tmp55_;
							TrackerSparqlVariable* _tmp56_;
							gconstpointer _tmp57_;
							gint _tmp58_;
#line 1013 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp50_ = first;
#line 1013 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (_tmp50_) {
#line 1014 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								first = FALSE;
#line 9999 "tracker-sparql-pattern.c"
							} else {
								GString* _tmp51_;
#line 1016 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp51_ = select;
#line 1016 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_string_append (_tmp51_, ", ");
#line 10006 "tracker-sparql-pattern.c"
							}
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp52_ = tracker_sparql_pattern_get_context (self);
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp53_ = _tmp52_;
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp54_ = _tmp53_->parent_context;
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp55_ = _tmp54_->var_set;
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp56_ = v;
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp57_ = g_hash_table_lookup (_tmp55_, _tmp56_);
#line 1019 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							old_state = (gint) ((gintptr) _tmp57_);
#line 1020 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp58_ = old_state;
#line 1020 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (_tmp58_ == 0) {
#line 10026 "tracker-sparql-pattern.c"
								TrackerSparqlContext* _tmp59_;
								TrackerSparqlContext* _tmp60_;
								TrackerSparqlContext* _tmp61_;
								GHashTable* _tmp62_;
								TrackerSparqlVariable* _tmp63_;
								TrackerSparqlVariable* _tmp64_;
								GString* _tmp65_;
								gint _tmp66_;
								TrackerSparqlVariable* _tmp67_;
								const gchar* _tmp68_;
								const gchar* _tmp69_;
								TrackerSparqlVariable* _tmp70_;
								TrackerSparqlVariableBinding* _tmp71_;
								TrackerPropertyType _tmp72_;
#line 1022 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp59_ = tracker_sparql_pattern_get_context (self);
#line 1022 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp60_ = _tmp59_;
#line 1022 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp61_ = _tmp60_->parent_context;
#line 1022 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp62_ = _tmp61_->var_set;
#line 1022 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp63_ = v;
#line 1022 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp64_ = _g_object_ref0 (_tmp63_);
#line 1022 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_hash_table_insert (_tmp62_, _tmp64_, (gpointer) ((gintptr) ((gint) TRACKER_SPARQL_VARIABLE_STATE_OPTIONAL)));
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp65_ = select;
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp66_ = right_index;
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp67_ = v;
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp68_ = tracker_sparql_variable_get_sql_expression (_tmp67_);
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp69_ = _tmp68_;
#line 1023 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_string_append_printf (_tmp65_, "t%d_g.%s", _tmp66_, _tmp69_);
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp70_ = v;
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp71_ = _tmp70_->binding;
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp72_ = ((TrackerSparqlDataBinding*) _tmp71_)->data_type;
#line 1025 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_tmp72_ == TRACKER_PROPERTY_TYPE_DATETIME) {
#line 10075 "tracker-sparql-pattern.c"
									GString* _tmp73_;
									gint _tmp74_;
									TrackerSparqlVariable* _tmp75_;
									gchar* _tmp76_;
									gchar* _tmp77_;
									GString* _tmp78_;
									gint _tmp79_;
									TrackerSparqlVariable* _tmp80_;
									gchar* _tmp81_;
									gchar* _tmp82_;
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp73_ = select;
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp74_ = right_index;
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp75_ = v;
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp76_ = tracker_sparql_variable_get_extra_sql_expression (_tmp75_, "localDate");
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp77_ = _tmp76_;
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append_printf (_tmp73_, ", t%d_g.%s", _tmp74_, _tmp77_);
#line 1026 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_free0 (_tmp77_);
#line 1027 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp78_ = select;
#line 1027 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp79_ = right_index;
#line 1027 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp80_ = v;
#line 1027 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp81_ = tracker_sparql_variable_get_extra_sql_expression (_tmp80_, "localTime");
#line 1027 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp82_ = _tmp81_;
#line 1027 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append_printf (_tmp78_, ", t%d_g.%s", _tmp79_, _tmp82_);
#line 1027 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_free0 (_tmp82_);
#line 10114 "tracker-sparql-pattern.c"
								}
							} else {
								gboolean _tmp83_;
								gint _tmp84_;
#line 1030 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp83_ = first_common;
#line 1030 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_tmp83_) {
#line 1031 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append (sql, " ON ");
#line 1032 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									first_common = FALSE;
#line 10127 "tracker-sparql-pattern.c"
								} else {
#line 1034 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append (sql, " AND ");
#line 10131 "tracker-sparql-pattern.c"
								}
#line 1037 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp84_ = old_state;
#line 1037 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_tmp84_ == ((gint) TRACKER_SPARQL_VARIABLE_STATE_BOUND)) {
#line 10137 "tracker-sparql-pattern.c"
									gint _tmp85_;
									TrackerSparqlVariable* _tmp86_;
									const gchar* _tmp87_;
									const gchar* _tmp88_;
									gint _tmp89_;
									TrackerSparqlVariable* _tmp90_;
									const gchar* _tmp91_;
									const gchar* _tmp92_;
									GString* _tmp93_;
									gint _tmp94_;
									TrackerSparqlVariable* _tmp95_;
									const gchar* _tmp96_;
									const gchar* _tmp97_;
									TrackerSparqlVariable* _tmp98_;
									TrackerSparqlVariableBinding* _tmp99_;
									TrackerPropertyType _tmp100_;
#line 1039 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp85_ = left_index;
#line 1039 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp86_ = v;
#line 1039 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp87_ = tracker_sparql_variable_get_sql_expression (_tmp86_);
#line 1039 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp88_ = _tmp87_;
#line 1039 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp89_ = right_index;
#line 1039 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp90_ = v;
#line 1039 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp91_ = tracker_sparql_variable_get_sql_expression (_tmp90_);
#line 1039 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp92_ = _tmp91_;
#line 1039 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append_printf (sql, "t%d_g.%s = t%d_g.%s", _tmp85_, _tmp88_, _tmp89_, _tmp92_);
#line 1040 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp93_ = select;
#line 1040 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp94_ = left_index;
#line 1040 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp95_ = v;
#line 1040 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp96_ = tracker_sparql_variable_get_sql_expression (_tmp95_);
#line 1040 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp97_ = _tmp96_;
#line 1040 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append_printf (_tmp93_, "t%d_g.%s", _tmp94_, _tmp97_);
#line 1042 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp98_ = v;
#line 1042 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp99_ = _tmp98_->binding;
#line 1042 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp100_ = ((TrackerSparqlDataBinding*) _tmp99_)->data_type;
#line 1042 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									if (_tmp100_ == TRACKER_PROPERTY_TYPE_DATETIME) {
#line 10192 "tracker-sparql-pattern.c"
										GString* _tmp101_;
										gint _tmp102_;
										TrackerSparqlVariable* _tmp103_;
										gchar* _tmp104_;
										gchar* _tmp105_;
										GString* _tmp106_;
										gint _tmp107_;
										TrackerSparqlVariable* _tmp108_;
										gchar* _tmp109_;
										gchar* _tmp110_;
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp101_ = select;
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp102_ = left_index;
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp103_ = v;
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp104_ = tracker_sparql_variable_get_extra_sql_expression (_tmp103_, "localDate");
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp105_ = _tmp104_;
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_string_append_printf (_tmp101_, ", t%d_g.%s", _tmp102_, _tmp105_);
#line 1043 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_g_free0 (_tmp105_);
#line 1044 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp106_ = select;
#line 1044 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp107_ = left_index;
#line 1044 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp108_ = v;
#line 1044 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp109_ = tracker_sparql_variable_get_extra_sql_expression (_tmp108_, "localTime");
#line 1044 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp110_ = _tmp109_;
#line 1044 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_string_append_printf (_tmp106_, ", t%d_g.%s", _tmp107_, _tmp110_);
#line 1044 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_g_free0 (_tmp110_);
#line 10231 "tracker-sparql-pattern.c"
									}
								} else {
									gint _tmp111_;
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp111_ = old_state;
#line 1046 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									if (_tmp111_ == ((gint) TRACKER_SPARQL_VARIABLE_STATE_OPTIONAL)) {
#line 10239 "tracker-sparql-pattern.c"
										gint _tmp112_;
										TrackerSparqlVariable* _tmp113_;
										const gchar* _tmp114_;
										const gchar* _tmp115_;
										gint _tmp116_;
										TrackerSparqlVariable* _tmp117_;
										const gchar* _tmp118_;
										const gchar* _tmp119_;
										gint _tmp120_;
										TrackerSparqlVariable* _tmp121_;
										const gchar* _tmp122_;
										const gchar* _tmp123_;
										GString* _tmp124_;
										gint _tmp125_;
										TrackerSparqlVariable* _tmp126_;
										const gchar* _tmp127_;
										const gchar* _tmp128_;
										gint _tmp129_;
										TrackerSparqlVariable* _tmp130_;
										const gchar* _tmp131_;
										const gchar* _tmp132_;
										TrackerSparqlVariable* _tmp133_;
										const gchar* _tmp134_;
										const gchar* _tmp135_;
										TrackerSparqlVariable* _tmp136_;
										TrackerSparqlVariableBinding* _tmp137_;
										TrackerPropertyType _tmp138_;
#line 1048 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp112_ = left_index;
#line 1048 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp113_ = v;
#line 1048 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp114_ = tracker_sparql_variable_get_sql_expression (_tmp113_);
#line 1048 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp115_ = _tmp114_;
#line 1048 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp116_ = left_index;
#line 1048 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp117_ = v;
#line 1048 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp118_ = tracker_sparql_variable_get_sql_expression (_tmp117_);
#line 1048 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp119_ = _tmp118_;
#line 1048 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp120_ = right_index;
#line 1048 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp121_ = v;
#line 1048 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp122_ = tracker_sparql_variable_get_sql_expression (_tmp121_);
#line 1048 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp123_ = _tmp122_;
#line 1048 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_string_append_printf (sql, "(t%d_g.%s IS NULL OR t%d_g.%s = t%d_g.%s)", _tmp112_, _tmp115_, _tmp116_, _tmp119_, _tmp120_, _tmp123_);
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp124_ = select;
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp125_ = left_index;
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp126_ = v;
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp127_ = tracker_sparql_variable_get_sql_expression (_tmp126_);
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp128_ = _tmp127_;
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp129_ = right_index;
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp130_ = v;
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp131_ = tracker_sparql_variable_get_sql_expression (_tmp130_);
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp132_ = _tmp131_;
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp133_ = v;
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp134_ = tracker_sparql_variable_get_sql_expression (_tmp133_);
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp135_ = _tmp134_;
#line 1049 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_string_append_printf (_tmp124_, "COALESCE (t%d_g.%s, t%d_g.%s) AS %s", _tmp125_, _tmp128_, _tmp129_, _tmp132_, _tmp135_);
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp136_ = v;
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp137_ = _tmp136_->binding;
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tmp138_ = ((TrackerSparqlDataBinding*) _tmp137_)->data_type;
#line 1051 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										if (_tmp138_ == TRACKER_PROPERTY_TYPE_DATETIME) {
#line 10327 "tracker-sparql-pattern.c"
											GString* _tmp139_;
											gint _tmp140_;
											TrackerSparqlVariable* _tmp141_;
											gchar* _tmp142_;
											gchar* _tmp143_;
											gint _tmp144_;
											TrackerSparqlVariable* _tmp145_;
											gchar* _tmp146_;
											gchar* _tmp147_;
											TrackerSparqlVariable* _tmp148_;
											gchar* _tmp149_;
											gchar* _tmp150_;
											GString* _tmp151_;
											gint _tmp152_;
											TrackerSparqlVariable* _tmp153_;
											gchar* _tmp154_;
											gchar* _tmp155_;
											gint _tmp156_;
											TrackerSparqlVariable* _tmp157_;
											gchar* _tmp158_;
											gchar* _tmp159_;
											TrackerSparqlVariable* _tmp160_;
											gchar* _tmp161_;
											gchar* _tmp162_;
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp139_ = select;
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp140_ = left_index;
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp141_ = v;
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp142_ = tracker_sparql_variable_get_extra_sql_expression (_tmp141_, "localDate");
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp143_ = _tmp142_;
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp144_ = right_index;
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp145_ = v;
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp146_ = tracker_sparql_variable_get_extra_sql_expression (_tmp145_, "localDate");
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp147_ = _tmp146_;
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp148_ = v;
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp149_ = tracker_sparql_variable_get_extra_sql_expression (_tmp148_, "localDate");
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp150_ = _tmp149_;
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											g_string_append_printf (_tmp139_, ", COALESCE (t%d_g.%s, t%d_g.%s) AS %s", _tmp140_, _tmp143_, _tmp144_, _tmp147_, _tmp150_);
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_g_free0 (_tmp150_);
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_g_free0 (_tmp147_);
#line 1052 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_g_free0 (_tmp143_);
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp151_ = select;
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp152_ = left_index;
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp153_ = v;
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp154_ = tracker_sparql_variable_get_extra_sql_expression (_tmp153_, "localTime");
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp155_ = _tmp154_;
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp156_ = right_index;
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp157_ = v;
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp158_ = tracker_sparql_variable_get_extra_sql_expression (_tmp157_, "localTime");
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp159_ = _tmp158_;
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp160_ = v;
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp161_ = tracker_sparql_variable_get_extra_sql_expression (_tmp160_, "localTime");
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp162_ = _tmp161_;
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											g_string_append_printf (_tmp151_, ", COALESCE (t%d_g.%s, t%d_g.%s) AS %s", _tmp152_, _tmp155_, _tmp156_, _tmp159_, _tmp162_);
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_g_free0 (_tmp162_);
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_g_free0 (_tmp159_);
#line 1053 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_g_free0 (_tmp155_);
#line 10416 "tracker-sparql-pattern.c"
										}
									}
								}
							}
						}
					}
#line 1012 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_list_free0 (v_collection);
#line 10425 "tracker-sparql-pattern.c"
				}
#line 1058 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp163_ = tracker_sparql_pattern_get_context (self);
#line 1058 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp164_ = _tmp163_;
#line 1058 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp165_ = _tmp164_->parent_context;
#line 1058 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp166_ = _tmp165_->var_set;
#line 1058 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp167_ = g_hash_table_get_keys (_tmp166_);
#line 10437 "tracker-sparql-pattern.c"
				{
					GList* v_collection = NULL;
					GList* v_it = NULL;
#line 1058 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					v_collection = _tmp167_;
#line 1058 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					for (v_it = v_collection; v_it != NULL; v_it = v_it->next) {
#line 10445 "tracker-sparql-pattern.c"
						TrackerSparqlVariable* v = NULL;
#line 1058 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						v = (TrackerSparqlVariable*) v_it->data;
#line 10449 "tracker-sparql-pattern.c"
						{
							TrackerSparqlContext* _tmp168_;
							TrackerSparqlContext* _tmp169_;
							GHashTable* _tmp170_;
							TrackerSparqlVariable* _tmp171_;
							gconstpointer _tmp172_;
#line 1059 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp168_ = tracker_sparql_pattern_get_context (self);
#line 1059 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp169_ = _tmp168_;
#line 1059 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp170_ = _tmp169_->var_set;
#line 1059 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp171_ = v;
#line 1059 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp172_ = g_hash_table_lookup (_tmp170_, _tmp171_);
#line 1059 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (((gint) ((gintptr) _tmp172_)) == 0) {
#line 10468 "tracker-sparql-pattern.c"
								gboolean _tmp173_;
								GString* _tmp175_;
								gint _tmp176_;
								TrackerSparqlVariable* _tmp177_;
								const gchar* _tmp178_;
								const gchar* _tmp179_;
								TrackerSparqlVariable* _tmp180_;
								TrackerSparqlVariableBinding* _tmp181_;
								TrackerPropertyType _tmp182_;
#line 1061 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp173_ = first;
#line 1061 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_tmp173_) {
#line 1062 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									first = FALSE;
#line 10484 "tracker-sparql-pattern.c"
								} else {
									GString* _tmp174_;
#line 1064 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp174_ = select;
#line 1064 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append (_tmp174_, ", ");
#line 10491 "tracker-sparql-pattern.c"
								}
#line 1067 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp175_ = select;
#line 1067 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp176_ = left_index;
#line 1067 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp177_ = v;
#line 1067 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp178_ = tracker_sparql_variable_get_sql_expression (_tmp177_);
#line 1067 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp179_ = _tmp178_;
#line 1067 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_string_append_printf (_tmp175_, "t%d_g.%s", _tmp176_, _tmp179_);
#line 1069 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp180_ = v;
#line 1069 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp181_ = _tmp180_->binding;
#line 1069 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp182_ = ((TrackerSparqlDataBinding*) _tmp181_)->data_type;
#line 1069 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_tmp182_ == TRACKER_PROPERTY_TYPE_DATETIME) {
#line 10513 "tracker-sparql-pattern.c"
									GString* _tmp183_;
									gint _tmp184_;
									TrackerSparqlVariable* _tmp185_;
									gchar* _tmp186_;
									gchar* _tmp187_;
									GString* _tmp188_;
									gint _tmp189_;
									TrackerSparqlVariable* _tmp190_;
									gchar* _tmp191_;
									gchar* _tmp192_;
#line 1070 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp183_ = select;
#line 1070 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp184_ = left_index;
#line 1070 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp185_ = v;
#line 1070 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp186_ = tracker_sparql_variable_get_extra_sql_expression (_tmp185_, "localDate");
#line 1070 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp187_ = _tmp186_;
#line 1070 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append_printf (_tmp183_, ", t%d_g.%s", _tmp184_, _tmp187_);
#line 1070 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_free0 (_tmp187_);
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp188_ = select;
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp189_ = left_index;
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp190_ = v;
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp191_ = tracker_sparql_variable_get_extra_sql_expression (_tmp190_, "localTime");
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp192_ = _tmp191_;
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append_printf (_tmp188_, ", t%d_g.%s", _tmp189_, _tmp192_);
#line 1071 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_free0 (_tmp192_);
#line 10552 "tracker-sparql-pattern.c"
								}
							}
						}
					}
#line 1058 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_list_free0 (v_collection);
#line 10559 "tracker-sparql-pattern.c"
				}
#line 1075 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp193_ = first;
#line 1075 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp193_) {
#line 10565 "tracker-sparql-pattern.c"
					GString* _tmp194_;
#line 1077 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp194_ = select;
#line 1077 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (_tmp194_, "1");
#line 10571 "tracker-sparql-pattern.c"
				}
#line 1080 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp195_ = tracker_sparql_pattern_get_context (self);
#line 1080 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp196_ = _tmp195_;
#line 1080 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp197_ = _tmp196_->parent_context;
#line 1080 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_set_context (self, _tmp197_);
#line 1082 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp198_ = select;
#line 1082 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_string_append (_tmp198_, " FROM (");
#line 1083 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp199_ = group_graph_pattern_start;
#line 1083 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp200_ = select;
#line 1083 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp201_ = _tmp200_->str;
#line 1083 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_string_insert (sql, (gssize) _tmp199_, _tmp201_);
#line 1087 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp202_ = group_graph_pattern_start;
#line 1087 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_string_insert (sql, (gssize) _tmp202_, "SELECT * FROM (");
#line 1088 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_string_append (sql, ")");
#line 976 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_tmp43_);
#line 976 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_string_free0 (select);
#line 10603 "tracker-sparql-pattern.c"
			}
		} else {
			gboolean _tmp203_ = FALSE;
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp203_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_GRAPH, &_inner_error_);
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_propagate_error (error, _inner_error_);
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					filters = (g_free (filters), NULL);
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (_result_);
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return NULL;
#line 10621 "tracker-sparql-pattern.c"
				} else {
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					filters = (g_free (filters), NULL);
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (_result_);
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_clear_error (&_inner_error_);
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return NULL;
#line 10633 "tracker-sparql-pattern.c"
				}
			}
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp203_) {
#line 10638 "tracker-sparql-pattern.c"
				gchar* old_graph = NULL;
				const gchar* _tmp204_;
				gchar* _tmp205_;
				gboolean old_graph_is_var = FALSE;
				gboolean _tmp206_;
				gchar* _tmp207_ = NULL;
				gboolean _tmp208_ = FALSE;
				gchar* _tmp209_;
				gchar* _tmp210_;
				gboolean _tmp211_ = FALSE;
				gboolean _tmp212_;
				const gchar* _tmp219_;
				gchar* _tmp220_;
				gboolean _tmp221_;
#line 1091 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp204_ = self->current_graph;
#line 1091 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp205_ = g_strdup (_tmp204_);
#line 1091 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				old_graph = _tmp205_;
#line 1092 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp206_ = self->priv->current_graph_is_var;
#line 1092 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				old_graph_is_var = _tmp206_;
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp209_ = tracker_sparql_pattern_parse_var_or_term (self, sql, &_tmp208_, &_inner_error_);
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				self->priv->current_graph_is_var = _tmp208_;
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp207_ = _tmp209_;
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (old_graph);
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 10683 "tracker-sparql-pattern.c"
					} else {
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (old_graph);
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 10697 "tracker-sparql-pattern.c"
					}
				}
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp210_ = _tmp207_;
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp207_ = NULL;
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (self->current_graph);
#line 1093 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				self->current_graph = _tmp210_;
#line 1095 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp212_ = in_triples_block;
#line 1095 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (!_tmp212_) {
#line 10712 "tracker-sparql-pattern.c"
					gboolean _tmp213_;
#line 1095 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp213_ = in_group_graph_pattern;
#line 1095 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp211_ = !_tmp213_;
#line 10718 "tracker-sparql-pattern.c"
				} else {
#line 1095 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp211_ = FALSE;
#line 10722 "tracker-sparql-pattern.c"
				}
#line 1095 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp211_) {
#line 10726 "tracker-sparql-pattern.c"
					glong _tmp214_;
#line 1096 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					in_group_graph_pattern = TRUE;
#line 1098 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp214_ = group_graph_pattern_start;
#line 1098 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_insert (sql, (gssize) _tmp214_, "SELECT * FROM (");
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_translate_group_or_union_graph_pattern (self, sql, &_inner_error_);
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (_tmp207_);
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (old_graph);
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 10752 "tracker-sparql-pattern.c"
						} else {
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (_tmp207_);
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (old_graph);
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 1099 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 10768 "tracker-sparql-pattern.c"
						}
					}
#line 1100 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (sql, ")");
#line 10773 "tracker-sparql-pattern.c"
				} else {
					gboolean _tmp215_;
					gboolean _tmp217_;
					glong _tmp218_;
#line 1102 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp215_ = in_triples_block;
#line 1102 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp215_) {
#line 10782 "tracker-sparql-pattern.c"
						gboolean _tmp216_;
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp216_ = in_group_graph_pattern;
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						tracker_sparql_pattern_end_triples_block (self, sql, &first_where, _tmp216_, &_inner_error_);
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_propagate_error (error, _inner_error_);
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (_tmp207_);
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (old_graph);
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								filters = (g_free (filters), NULL);
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tracker_sparql_context_unref0 (_result_);
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								return NULL;
#line 10804 "tracker-sparql-pattern.c"
							} else {
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (_tmp207_);
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_free0 (old_graph);
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								filters = (g_free (filters), NULL);
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tracker_sparql_context_unref0 (_result_);
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_clear_error (&_inner_error_);
#line 1103 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								return NULL;
#line 10820 "tracker-sparql-pattern.c"
							}
						}
#line 1104 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						in_triples_block = FALSE;
#line 10825 "tracker-sparql-pattern.c"
					}
#line 1106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp217_ = in_group_graph_pattern;
#line 1106 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (!_tmp217_) {
#line 1107 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						in_group_graph_pattern = TRUE;
#line 10833 "tracker-sparql-pattern.c"
					}
#line 1110 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp218_ = group_graph_pattern_start;
#line 1110 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_insert (sql, (gssize) _tmp218_, "SELECT * FROM (");
#line 1111 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (sql, ") NATURAL INNER JOIN (");
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_translate_group_or_union_graph_pattern (self, sql, &_inner_error_);
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (_tmp207_);
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (old_graph);
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 10859 "tracker-sparql-pattern.c"
						} else {
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (_tmp207_);
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (old_graph);
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 1112 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 10875 "tracker-sparql-pattern.c"
						}
					}
#line 1113 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (sql, ")");
#line 10880 "tracker-sparql-pattern.c"
				}
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp219_ = old_graph;
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp220_ = g_strdup (_tmp219_);
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (self->current_graph);
#line 1116 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				self->current_graph = _tmp220_;
#line 1117 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp221_ = old_graph_is_var;
#line 1117 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				self->priv->current_graph_is_var = _tmp221_;
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp207_);
#line 1090 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (old_graph);
#line 10898 "tracker-sparql-pattern.c"
			} else {
				gboolean _tmp222_ = FALSE;
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp222_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_BIND, &_inner_error_);
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 10915 "tracker-sparql-pattern.c"
					} else {
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						filters = (g_free (filters), NULL);
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tracker_sparql_context_unref0 (_result_);
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_clear_error (&_inner_error_);
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return NULL;
#line 10927 "tracker-sparql-pattern.c"
					}
				}
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp222_) {
#line 10932 "tracker-sparql-pattern.c"
					TrackerSparqlVariableBinding* binding = NULL;
					TrackerSparqlVariableBinding* _tmp223_;
					GString* bind_sql = NULL;
					GString* _tmp224_;
					TrackerSparqlContext* _tmp225_;
					TrackerSparqlContext* _tmp226_;
					gboolean _tmp227_;
					TrackerSparqlExpression* _tmp228_;
					GString* _tmp229_;
					TrackerSparqlContext* _tmp230_;
					TrackerSparqlContext* _tmp231_;
					TrackerSparqlVariableBinding* _tmp232_;
					GString* _tmp233_;
					const gchar* _tmp234_;
					TrackerSparqlVariable* as_var = NULL;
					TrackerSparqlContext* _tmp235_;
					TrackerSparqlContext* _tmp236_;
					gchar* _tmp237_;
					gchar* _tmp238_;
					gchar* _tmp239_;
					gchar* _tmp240_;
					TrackerSparqlVariable* _tmp241_;
					TrackerSparqlVariable* _tmp242_;
					TrackerSparqlVariable* _tmp243_;
					TrackerSparqlVariable* _tmp244_;
					TrackerSparqlVariableBinding* _tmp245_;
					TrackerSparqlVariableBinding* _tmp248_;
					TrackerSparqlVariable* _tmp249_;
					gboolean _tmp250_;
#line 1119 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp223_ = tracker_sparql_variable_binding_new ();
#line 1119 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					binding = _tmp223_;
#line 1120 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp224_ = g_string_new ("");
#line 1120 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					bind_sql = _tmp224_;
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_OPEN_PARENS, &_inner_error_);
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (bind_sql);
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (binding);
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 10988 "tracker-sparql-pattern.c"
						} else {
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (bind_sql);
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (binding);
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 1122 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 11004 "tracker-sparql-pattern.c"
						}
					}
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp225_ = tracker_sparql_pattern_get_context (self);
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp226_ = _tmp225_;
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp227_ = in_group_graph_pattern;
#line 1127 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp226_->need_binding_expression = !_tmp227_;
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp228_ = self->priv->expression;
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp229_ = bind_sql;
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_expression_translate_expression (_tmp228_, _tmp229_, &_inner_error_);
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (bind_sql);
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (binding);
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 11037 "tracker-sparql-pattern.c"
						} else {
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (bind_sql);
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (binding);
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 1128 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 11053 "tracker-sparql-pattern.c"
						}
					}
#line 1129 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp230_ = tracker_sparql_pattern_get_context (self);
#line 1129 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp231_ = _tmp230_;
#line 1129 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp231_->need_binding_expression = FALSE;
#line 1130 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp232_ = binding;
#line 1130 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp233_ = bind_sql;
#line 1130 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp234_ = _tmp233_->str;
#line 1130 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_data_binding_set_sql_expression ((TrackerSparqlDataBinding*) _tmp232_, _tmp234_);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_AS, &_inner_error_);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (bind_sql);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (binding);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 11088 "tracker-sparql-pattern.c"
						} else {
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (bind_sql);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (binding);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 1132 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 11104 "tracker-sparql-pattern.c"
						}
					}
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_VAR, &_inner_error_);
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (bind_sql);
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (binding);
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 11125 "tracker-sparql-pattern.c"
						} else {
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (bind_sql);
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (binding);
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 1133 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 11141 "tracker-sparql-pattern.c"
						}
					}
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp235_ = tracker_sparql_pattern_get_context (self);
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp236_ = _tmp235_;
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp237_ = tracker_sparql_pattern_get_last_string (self, 0);
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp238_ = _tmp237_;
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp239_ = string_substring (_tmp238_, (glong) 1, (glong) -1);
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp240_ = _tmp239_;
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp241_ = tracker_sparql_context_get_variable (_tmp236_, _tmp240_);
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp242_ = _g_object_ref0 (_tmp241_);
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp243_ = _tmp242_;
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp240_);
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp238_);
#line 1135 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					as_var = _tmp243_;
#line 1137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp244_ = as_var;
#line 1137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp245_ = _tmp244_->binding;
#line 1137 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp245_ != NULL) {
#line 11174 "tracker-sparql-pattern.c"
						TrackerSparqlQuery* _tmp246_;
						GError* _tmp247_;
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp246_ = self->priv->query;
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp247_ = tracker_sparql_query_get_internal_error (_tmp246_, "Expected undefined variable in BIND alias");
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_inner_error_ = _tmp247_;
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (as_var);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (bind_sql);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (binding);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 11199 "tracker-sparql-pattern.c"
						} else {
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (as_var);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (bind_sql);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (binding);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 1138 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 11217 "tracker-sparql-pattern.c"
						}
					}
#line 1141 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp248_ = binding;
#line 1141 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp249_ = as_var;
#line 1141 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp248_->variable = _tmp249_;
#line 1143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp250_ = in_group_graph_pattern;
#line 1143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp250_) {
#line 11230 "tracker-sparql-pattern.c"
						GString* binding_sql = NULL;
						GString* _tmp251_;
						GString* _tmp252_;
						TrackerSparqlVariableBinding* _tmp253_;
						GString* _tmp254_;
						glong _tmp255_;
						GString* _tmp256_;
						const gchar* _tmp257_;
#line 1146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp251_ = g_string_new ("SELECT ");
#line 1146 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						binding_sql = _tmp251_;
#line 1147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp252_ = binding_sql;
#line 1147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp253_ = binding;
#line 1147 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						tracker_sparql_pattern_add_variable_binding (self, _tmp252_, _tmp253_, TRACKER_SPARQL_VARIABLE_STATE_BOUND);
#line 1148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp254_ = binding_sql;
#line 1148 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append (_tmp254_, " * FROM (");
#line 1149 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp255_ = group_graph_pattern_start;
#line 1149 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp256_ = binding_sql;
#line 1149 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp257_ = _tmp256_->str;
#line 1149 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_insert (sql, (gssize) _tmp255_, _tmp257_);
#line 1150 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append (sql, ")");
#line 1143 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_string_free0 (binding_sql);
#line 11265 "tracker-sparql-pattern.c"
					} else {
						TrackerSparqlVariableBinding* _tmp258_;
#line 1155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp258_ = binding;
#line 1155 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						tracker_sparql_pattern_add_variable_binding (self, sql, _tmp258_, TRACKER_SPARQL_VARIABLE_STATE_BOUND);
#line 11272 "tracker-sparql-pattern.c"
					}
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_PARENS, &_inner_error_);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (as_var);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (bind_sql);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (binding);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 11294 "tracker-sparql-pattern.c"
						} else {
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (as_var);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_string_free0 (bind_sql);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (binding);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 1158 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 11312 "tracker-sparql-pattern.c"
						}
					}
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (as_var);
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (bind_sql);
#line 1118 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (binding);
#line 11321 "tracker-sparql-pattern.c"
				} else {
#line 1159 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_OPEN_BRACE) {
#line 11325 "tracker-sparql-pattern.c"
						gboolean _tmp259_ = FALSE;
						gboolean _tmp260_;
#line 1160 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp260_ = in_triples_block;
#line 1160 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (!_tmp260_) {
#line 11332 "tracker-sparql-pattern.c"
							gboolean _tmp261_;
#line 1160 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp261_ = in_group_graph_pattern;
#line 1160 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp259_ = !_tmp261_;
#line 11338 "tracker-sparql-pattern.c"
						} else {
#line 1160 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp259_ = FALSE;
#line 11342 "tracker-sparql-pattern.c"
						}
#line 1160 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_tmp259_) {
#line 11346 "tracker-sparql-pattern.c"
							glong _tmp262_;
#line 1161 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							in_group_graph_pattern = TRUE;
#line 1163 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp262_ = group_graph_pattern_start;
#line 1163 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_string_insert (sql, (gssize) _tmp262_, "SELECT * FROM (");
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							tracker_sparql_pattern_translate_group_or_union_graph_pattern (self, sql, &_inner_error_);
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_propagate_error (error, _inner_error_);
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									filters = (g_free (filters), NULL);
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tracker_sparql_context_unref0 (_result_);
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									return NULL;
#line 11368 "tracker-sparql-pattern.c"
								} else {
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									filters = (g_free (filters), NULL);
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tracker_sparql_context_unref0 (_result_);
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_clear_error (&_inner_error_);
#line 1164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									return NULL;
#line 11380 "tracker-sparql-pattern.c"
								}
							}
#line 1165 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_string_append (sql, ")");
#line 11385 "tracker-sparql-pattern.c"
						} else {
							gboolean _tmp263_;
							gboolean _tmp265_;
							glong _tmp266_;
#line 1167 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp263_ = in_triples_block;
#line 1167 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (_tmp263_) {
#line 11394 "tracker-sparql-pattern.c"
								gboolean _tmp264_;
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp264_ = in_group_graph_pattern;
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								tracker_sparql_pattern_end_triples_block (self, sql, &first_where, _tmp264_, &_inner_error_);
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_propagate_error (error, _inner_error_);
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										filters = (g_free (filters), NULL);
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tracker_sparql_context_unref0 (_result_);
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										return NULL;
#line 11412 "tracker-sparql-pattern.c"
									} else {
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										filters = (g_free (filters), NULL);
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_tracker_sparql_context_unref0 (_result_);
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										g_clear_error (&_inner_error_);
#line 1168 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										return NULL;
#line 11424 "tracker-sparql-pattern.c"
									}
								}
#line 1169 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								in_triples_block = FALSE;
#line 11429 "tracker-sparql-pattern.c"
							}
#line 1171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp265_ = in_group_graph_pattern;
#line 1171 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (!_tmp265_) {
#line 1172 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								in_group_graph_pattern = TRUE;
#line 11437 "tracker-sparql-pattern.c"
							}
#line 1175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp266_ = group_graph_pattern_start;
#line 1175 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_string_insert (sql, (gssize) _tmp266_, "SELECT * FROM (");
#line 1176 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_string_append (sql, ") NATURAL INNER JOIN (");
#line 1177 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							tracker_sparql_pattern_translate_group_or_union_graph_pattern (self, sql, &_inner_error_);
#line 1177 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1177 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1177 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_propagate_error (error, _inner_error_);
#line 1177 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									filters = (g_free (filters), NULL);
#line 1177 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tracker_sparql_context_unref0 (_result_);
#line 1177 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									return NULL;
#line 11459 "tracker-sparql-pattern.c"
								} else {
#line 1177 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									filters = (g_free (filters), NULL);
#line 1177 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tracker_sparql_context_unref0 (_result_);
#line 1177 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1177 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_clear_error (&_inner_error_);
#line 1177 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									return NULL;
#line 11471 "tracker-sparql-pattern.c"
								}
							}
#line 1178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_string_append (sql, ")");
#line 11476 "tracker-sparql-pattern.c"
						}
					} else {
#line 1180 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (tracker_sparql_pattern_current (self) == TRACKER_SPARQL_TOKEN_TYPE_FILTER) {
#line 11481 "tracker-sparql-pattern.c"
							TrackerSourceLocation* _tmp267_;
							gint _tmp267__length1;
							TrackerSourceLocation _tmp268_ = {0};
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp267_ = filters;
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp267__length1 = filters_length1;
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							tracker_sparql_pattern_get_location (self, &_tmp268_);
#line 1181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_vala_array_add8 (&filters, &filters_length1, &_filters_size_, &_tmp268_);
#line 1182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							tracker_sparql_pattern_skip_filter (self, &_inner_error_);
#line 1182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_propagate_error (error, _inner_error_);
#line 1182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									filters = (g_free (filters), NULL);
#line 1182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tracker_sparql_context_unref0 (_result_);
#line 1182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									return NULL;
#line 11507 "tracker-sparql-pattern.c"
								} else {
#line 1182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									filters = (g_free (filters), NULL);
#line 1182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tracker_sparql_context_unref0 (_result_);
#line 1182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_clear_error (&_inner_error_);
#line 1182 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									return NULL;
#line 11519 "tracker-sparql-pattern.c"
								}
							}
						} else {
#line 1184 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							break;
#line 11525 "tracker-sparql-pattern.c"
						}
					}
				}
			}
		}
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_optional (self, TRACKER_SPARQL_TOKEN_TYPE_DOT, &_inner_error_);
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				filters = (g_free (filters), NULL);
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 11545 "tracker-sparql-pattern.c"
			} else {
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				filters = (g_free (filters), NULL);
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %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-pattern.vala"
				g_clear_error (&_inner_error_);
#line 1187 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 11557 "tracker-sparql-pattern.c"
			}
		}
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp269_ = group_graph_pattern_start;
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp270_ = found_simple_optional;
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_parse_triples (self, sql, _tmp269_, &in_triples_block, &first_where, &in_group_graph_pattern, _tmp270_, &_inner_error_);
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_propagate_error (error, _inner_error_);
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				filters = (g_free (filters), NULL);
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 11578 "tracker-sparql-pattern.c"
			} else {
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				filters = (g_free (filters), NULL);
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tracker_sparql_context_unref0 (_result_);
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_clear_error (&_inner_error_);
#line 1190 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				return NULL;
#line 11590 "tracker-sparql-pattern.c"
			}
		}
	}
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_expect (self, TRACKER_SPARQL_TOKEN_TYPE_CLOSE_BRACE, &_inner_error_);
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			filters = (g_free (filters), NULL);
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 11608 "tracker-sparql-pattern.c"
		} else {
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			filters = (g_free (filters), NULL);
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_result_);
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %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-pattern.vala"
			g_clear_error (&_inner_error_);
#line 1193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return NULL;
#line 11620 "tracker-sparql-pattern.c"
		}
	}
#line 1195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp272_ = in_triples_block;
#line 1195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (!_tmp272_) {
#line 11627 "tracker-sparql-pattern.c"
		gboolean _tmp273_;
#line 1195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp273_ = in_group_graph_pattern;
#line 1195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp271_ = !_tmp273_;
#line 11633 "tracker-sparql-pattern.c"
	} else {
#line 1195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp271_ = FALSE;
#line 11637 "tracker-sparql-pattern.c"
	}
#line 1195 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp271_) {
#line 1197 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append (sql, "SELECT 1");
#line 11643 "tracker-sparql-pattern.c"
	} else {
		gboolean _tmp274_;
#line 1198 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp274_ = in_triples_block;
#line 1198 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp274_) {
#line 11650 "tracker-sparql-pattern.c"
			gboolean _tmp275_;
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp275_ = in_group_graph_pattern;
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			tracker_sparql_pattern_end_triples_block (self, sql, &first_where, _tmp275_, &_inner_error_);
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_propagate_error (error, _inner_error_);
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					filters = (g_free (filters), NULL);
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (_result_);
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return NULL;
#line 11668 "tracker-sparql-pattern.c"
				} else {
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					filters = (g_free (filters), NULL);
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (_result_);
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %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-pattern.vala"
					g_clear_error (&_inner_error_);
#line 1199 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return NULL;
#line 11680 "tracker-sparql-pattern.c"
				}
			}
#line 1200 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			in_triples_block = FALSE;
#line 11685 "tracker-sparql-pattern.c"
		}
	}
#line 1203 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp276_ = in_group_graph_pattern;
#line 1203 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp276_) {
#line 1204 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		first_where = TRUE;
#line 11694 "tracker-sparql-pattern.c"
	}
#line 1208 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp277_ = filters;
#line 1208 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp277__length1 = filters_length1;
#line 1208 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp277__length1 > 0) {
#line 11702 "tracker-sparql-pattern.c"
		TrackerSourceLocation end = {0};
		TrackerSourceLocation _tmp278_ = {0};
		TrackerSourceLocation* _tmp279_;
		gint _tmp279__length1;
		TrackerSourceLocation _tmp282_;
#line 1209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_get_location (self, &_tmp278_);
#line 1209 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		end = _tmp278_;
#line 1211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp279_ = filters;
#line 1211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp279__length1 = filters_length1;
#line 11716 "tracker-sparql-pattern.c"
		{
			TrackerSourceLocation* filter_location_collection = NULL;
			gint filter_location_collection_length1 = 0;
			gint _filter_location_collection_size_ = 0;
			gint filter_location_it = 0;
#line 1211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			filter_location_collection = _tmp279_;
#line 1211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			filter_location_collection_length1 = _tmp279__length1;
#line 1211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			for (filter_location_it = 0; filter_location_it < _tmp279__length1; filter_location_it = filter_location_it + 1) {
#line 11728 "tracker-sparql-pattern.c"
				TrackerSourceLocation filter_location = {0};
#line 1211 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				filter_location = filter_location_collection[filter_location_it];
#line 11732 "tracker-sparql-pattern.c"
				{
					gboolean _tmp280_;
					TrackerSourceLocation _tmp281_;
#line 1212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp280_ = first_where;
#line 1212 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (!_tmp280_) {
#line 1213 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append (sql, " AND ");
#line 11742 "tracker-sparql-pattern.c"
					} else {
#line 1215 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append (sql, " WHERE ");
#line 1216 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						first_where = FALSE;
#line 11748 "tracker-sparql-pattern.c"
					}
#line 1219 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp281_ = filter_location;
#line 1219 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_set_location (self, &_tmp281_);
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					tracker_sparql_pattern_translate_filter (self, sql, &_inner_error_);
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 11768 "tracker-sparql-pattern.c"
						} else {
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							filters = (g_free (filters), NULL);
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tracker_sparql_context_unref0 (_result_);
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %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-pattern.vala"
							g_clear_error (&_inner_error_);
#line 1220 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return NULL;
#line 11780 "tracker-sparql-pattern.c"
						}
					}
				}
			}
		}
#line 1223 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp282_ = end;
#line 1223 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_set_location (self, &_tmp282_);
#line 11790 "tracker-sparql-pattern.c"
	}
#line 1226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp283_ = tracker_sparql_pattern_get_context (self);
#line 1226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp284_ = _tmp283_;
#line 1226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp285_ = _tmp284_->parent_context;
#line 1226 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_set_context (self, _tmp285_);
#line 1227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	result = _result_;
#line 1227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	filters = (g_free (filters), NULL);
#line 1227 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return result;
#line 11806 "tracker-sparql-pattern.c"
}


static void
_vala_array_add9 (glong* * array,
                  int* length,
                  int* size,
                  glong value)
{
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if ((*length) == (*size)) {
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		*array = g_renew (glong, *array, *size);
#line 11822 "tracker-sparql-pattern.c"
	}
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	(*array)[(*length)++] = value;
#line 11826 "tracker-sparql-pattern.c"
}


static void
_vala_array_add10 (TrackerSparqlContext** * array,
                   int* length,
                   int* size,
                   TrackerSparqlContext* value)
{
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if ((*length) == (*size)) {
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		*array = g_renew (TrackerSparqlContext*, *array, (*size) + 1);
#line 11842 "tracker-sparql-pattern.c"
	}
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	(*array)[(*length)++] = value;
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	(*array)[*length] = NULL;
#line 11848 "tracker-sparql-pattern.c"
}


static gpointer
_tracker_sparql_context_ref0 (gpointer self)
{
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return self ? tracker_sparql_context_ref (self) : NULL;
#line 11857 "tracker-sparql-pattern.c"
}


static void
_vala_array_add11 (TrackerSparqlVariable** * array,
                   int* length,
                   int* size,
                   TrackerSparqlVariable* value)
{
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if ((*length) == (*size)) {
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		*array = g_renew (TrackerSparqlVariable*, *array, (*size) + 1);
#line 11873 "tracker-sparql-pattern.c"
	}
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	(*array)[(*length)++] = value;
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	(*array)[*length] = NULL;
#line 11879 "tracker-sparql-pattern.c"
}


static void
tracker_sparql_pattern_translate_group_or_union_graph_pattern (TrackerSparqlPattern* self,
                                                               GString* sql,
                                                               GError** error)
{
	TrackerSparqlVariable** all_vars = NULL;
	TrackerSparqlVariable** _tmp0_;
	gint all_vars_length1;
	gint _all_vars_size_;
	GHashTable* all_var_set = NULL;
	GDestroyNotify _tmp1_;
	GHashTable* _tmp2_;
	TrackerSparqlContext** contexts = NULL;
	TrackerSparqlContext** _tmp3_;
	gint contexts_length1;
	gint _contexts_size_;
	glong* offsets = NULL;
	glong* _tmp4_;
	gint offsets_length1;
	gint _offsets_size_;
	TrackerSparqlContext** _tmp13_;
	gint _tmp13__length1;
	GError * _inner_error_ = NULL;
#line 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (sql != NULL);
#line 1231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = g_new0 (TrackerSparqlVariable*, 0 + 1);
#line 1231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	all_vars = _tmp0_;
#line 1231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	all_vars_length1 = 0;
#line 1231 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_all_vars_size_ = all_vars_length1;
#line 1232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = g_object_unref;
#line 1232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp2_ = g_hash_table_new_full (_tracker_sparql_variable_hash_ghash_func, _tracker_sparql_variable_equal_gequal_func, _tmp1_, NULL);
#line 1232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	all_var_set = _tmp2_;
#line 1234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp3_ = g_new0 (TrackerSparqlContext*, 0 + 1);
#line 1234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	contexts = _tmp3_;
#line 1234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	contexts_length1 = 0;
#line 1234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_contexts_size_ = contexts_length1;
#line 1235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp4_ = g_new0 (glong, 0);
#line 1235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	offsets = _tmp4_;
#line 1235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	offsets_length1 = 0;
#line 1235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_offsets_size_ = offsets_length1;
#line 11940 "tracker-sparql-pattern.c"
	{
		gboolean _tmp5_ = FALSE;
#line 1237 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp5_ = TRUE;
#line 1237 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		while (TRUE) {
#line 11947 "tracker-sparql-pattern.c"
			glong* _tmp7_;
			gint _tmp7__length1;
			gssize _tmp8_;
			TrackerSparqlContext* _tmp9_ = NULL;
			TrackerSparqlContext* _tmp10_;
			TrackerSparqlContext** _tmp11_;
			gint _tmp11__length1;
			TrackerSparqlContext* _tmp12_;
#line 1237 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (!_tmp5_) {
#line 11958 "tracker-sparql-pattern.c"
				gboolean _tmp6_ = FALSE;
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp6_ = tracker_sparql_pattern_accept (self, TRACKER_SPARQL_TOKEN_TYPE_UNION, &_inner_error_);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						offsets = (g_free (offsets), NULL);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						contexts = (_vala_array_free (contexts, contexts_length1, (GDestroyNotify) tracker_sparql_context_unref), NULL);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_hash_table_unref0 (all_var_set);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						all_vars = (_vala_array_free (all_vars, all_vars_length1, (GDestroyNotify) g_object_unref), NULL);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return;
#line 11978 "tracker-sparql-pattern.c"
					} else {
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						offsets = (g_free (offsets), NULL);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						contexts = (_vala_array_free (contexts, contexts_length1, (GDestroyNotify) tracker_sparql_context_unref), NULL);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_hash_table_unref0 (all_var_set);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						all_vars = (_vala_array_free (all_vars, all_vars_length1, (GDestroyNotify) g_object_unref), NULL);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %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-pattern.vala"
						g_clear_error (&_inner_error_);
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return;
#line 11994 "tracker-sparql-pattern.c"
					}
				}
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (!_tmp6_) {
#line 1240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					break;
#line 12001 "tracker-sparql-pattern.c"
				}
			}
#line 1237 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp5_ = FALSE;
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp7_ = offsets;
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp7__length1 = offsets_length1;
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp8_ = sql->len;
#line 1238 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_vala_array_add9 (&offsets, &offsets_length1, &_offsets_size_, (glong) _tmp8_);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp10_ = tracker_sparql_pattern_translate_group_graph_pattern (self, sql, &_inner_error_);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp9_ = _tmp10_;
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_propagate_error (error, _inner_error_);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					offsets = (g_free (offsets), NULL);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					contexts = (_vala_array_free (contexts, contexts_length1, (GDestroyNotify) tracker_sparql_context_unref), NULL);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_hash_table_unref0 (all_var_set);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					all_vars = (_vala_array_free (all_vars, all_vars_length1, (GDestroyNotify) g_object_unref), NULL);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 12034 "tracker-sparql-pattern.c"
				} else {
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					offsets = (g_free (offsets), NULL);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					contexts = (_vala_array_free (contexts, contexts_length1, (GDestroyNotify) tracker_sparql_context_unref), NULL);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_hash_table_unref0 (all_var_set);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					all_vars = (_vala_array_free (all_vars, all_vars_length1, (GDestroyNotify) g_object_unref), NULL);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_clear_error (&_inner_error_);
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 12050 "tracker-sparql-pattern.c"
				}
			}
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp11_ = contexts;
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp11__length1 = contexts_length1;
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp12_ = _tmp9_;
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp9_ = NULL;
#line 1239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_vala_array_add10 (&contexts, &contexts_length1, &_contexts_size_, _tmp12_);
#line 1237 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (_tmp9_);
#line 12065 "tracker-sparql-pattern.c"
		}
	}
#line 1242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp13_ = contexts;
#line 1242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp13__length1 = contexts_length1;
#line 1242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp13__length1 > 1) {
#line 12074 "tracker-sparql-pattern.c"
		TrackerSparqlContext** _tmp14_;
		gint _tmp14__length1;
		glong extra_offset = 0L;
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp14_ = contexts;
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp14__length1 = contexts_length1;
#line 12082 "tracker-sparql-pattern.c"
		{
			TrackerSparqlContext** sub_context_collection = NULL;
			gint sub_context_collection_length1 = 0;
			gint _sub_context_collection_size_ = 0;
			gint sub_context_it = 0;
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			sub_context_collection = _tmp14_;
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			sub_context_collection_length1 = _tmp14__length1;
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			for (sub_context_it = 0; sub_context_it < _tmp14__length1; sub_context_it = sub_context_it + 1) {
#line 12094 "tracker-sparql-pattern.c"
				TrackerSparqlContext* _tmp15_;
				TrackerSparqlContext* sub_context = NULL;
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp15_ = _tracker_sparql_context_ref0 (sub_context_collection[sub_context_it]);
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				sub_context = _tmp15_;
#line 12101 "tracker-sparql-pattern.c"
				{
					TrackerSparqlContext* _tmp16_;
					GHashTable* _tmp17_;
					GList* _tmp18_;
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp16_ = sub_context;
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp17_ = _tmp16_->var_set;
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp18_ = g_hash_table_get_keys (_tmp17_);
#line 12112 "tracker-sparql-pattern.c"
					{
						GList* v_collection = NULL;
						GList* v_it = NULL;
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						v_collection = _tmp18_;
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						for (v_it = v_collection; v_it != NULL; v_it = v_it->next) {
#line 12120 "tracker-sparql-pattern.c"
							TrackerSparqlVariable* v = NULL;
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							v = (TrackerSparqlVariable*) v_it->data;
#line 12124 "tracker-sparql-pattern.c"
							{
								GHashTable* _tmp19_;
								TrackerSparqlVariable* _tmp20_;
								gconstpointer _tmp21_;
#line 1248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp19_ = all_var_set;
#line 1248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp20_ = v;
#line 1248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp21_ = g_hash_table_lookup (_tmp19_, _tmp20_);
#line 1248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (((gint) ((gintptr) _tmp21_)) == 0) {
#line 12137 "tracker-sparql-pattern.c"
									TrackerSparqlVariable** _tmp22_;
									gint _tmp22__length1;
									TrackerSparqlVariable* _tmp23_;
									TrackerSparqlVariable* _tmp24_;
									GHashTable* _tmp25_;
									TrackerSparqlVariable* _tmp26_;
									TrackerSparqlVariable* _tmp27_;
									TrackerSparqlContext* _tmp28_;
									TrackerSparqlContext* _tmp29_;
									GHashTable* _tmp30_;
									TrackerSparqlVariable* _tmp31_;
									TrackerSparqlVariable* _tmp32_;
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp22_ = all_vars;
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp22__length1 = all_vars_length1;
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp23_ = v;
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp24_ = _g_object_ref0 (_tmp23_);
#line 1249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_vala_array_add11 (&all_vars, &all_vars_length1, &_all_vars_size_, _tmp24_);
#line 1250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp25_ = all_var_set;
#line 1250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp26_ = v;
#line 1250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp27_ = _g_object_ref0 (_tmp26_);
#line 1250 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_hash_table_insert (_tmp25_, _tmp27_, (gpointer) ((gintptr) ((gint) TRACKER_SPARQL_VARIABLE_STATE_BOUND)));
#line 1251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp28_ = tracker_sparql_pattern_get_context (self);
#line 1251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp29_ = _tmp28_;
#line 1251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp30_ = _tmp29_->var_set;
#line 1251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp31_ = v;
#line 1251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp32_ = _g_object_ref0 (_tmp31_);
#line 1251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_hash_table_insert (_tmp30_, _tmp32_, (gpointer) ((gintptr) ((gint) TRACKER_SPARQL_VARIABLE_STATE_BOUND)));
#line 12180 "tracker-sparql-pattern.c"
								}
							}
						}
#line 1247 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_list_free0 (v_collection);
#line 12186 "tracker-sparql-pattern.c"
					}
#line 1246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tracker_sparql_context_unref0 (sub_context);
#line 12190 "tracker-sparql-pattern.c"
				}
			}
		}
#line 1256 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		extra_offset = (glong) 0;
#line 12196 "tracker-sparql-pattern.c"
		{
			gint i = 0;
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			i = 0;
#line 12201 "tracker-sparql-pattern.c"
			{
				gboolean _tmp33_ = FALSE;
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp33_ = TRUE;
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				while (TRUE) {
#line 12208 "tracker-sparql-pattern.c"
					gint _tmp35_;
					TrackerSparqlContext** _tmp36_;
					gint _tmp36__length1;
					GString* projection = NULL;
					GString* _tmp37_;
					gint _tmp38_;
					GString* _tmp40_;
					TrackerSparqlVariable** _tmp41_;
					gint _tmp41__length1;
					GString* _tmp54_;
					GString* _tmp55_;
					gssize _tmp56_;
					GString* _tmp57_;
					glong* _tmp58_;
					gint _tmp58__length1;
					gint _tmp59_;
					glong _tmp60_;
					glong _tmp61_;
					GString* _tmp62_;
					const gchar* _tmp63_;
					glong _tmp64_;
					GString* _tmp65_;
					gssize _tmp66_;
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (!_tmp33_) {
#line 12234 "tracker-sparql-pattern.c"
						gint _tmp34_;
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp34_ = i;
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						i = _tmp34_ + 1;
#line 12240 "tracker-sparql-pattern.c"
					}
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp33_ = FALSE;
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp35_ = i;
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp36_ = contexts;
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp36__length1 = contexts_length1;
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (!(_tmp35_ < _tmp36__length1)) {
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						break;
#line 12254 "tracker-sparql-pattern.c"
					}
#line 1258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp37_ = g_string_new ("");
#line 1258 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					projection = _tmp37_;
#line 1259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp38_ = i;
#line 1259 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp38_ > 0) {
#line 12264 "tracker-sparql-pattern.c"
						GString* _tmp39_;
#line 1260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp39_ = projection;
#line 1260 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_string_append (_tmp39_, ") UNION ALL ");
#line 12270 "tracker-sparql-pattern.c"
					}
#line 1262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp40_ = projection;
#line 1262 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (_tmp40_, "SELECT ");
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp41_ = all_vars;
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp41__length1 = all_vars_length1;
#line 12280 "tracker-sparql-pattern.c"
					{
						TrackerSparqlVariable** v_collection = NULL;
						gint v_collection_length1 = 0;
						gint _v_collection_size_ = 0;
						gint v_it = 0;
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						v_collection = _tmp41_;
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						v_collection_length1 = _tmp41__length1;
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						for (v_it = 0; v_it < _tmp41__length1; v_it = v_it + 1) {
#line 12292 "tracker-sparql-pattern.c"
							TrackerSparqlVariable* _tmp42_;
							TrackerSparqlVariable* v = NULL;
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_tmp42_ = _g_object_ref0 (v_collection[v_it]);
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							v = _tmp42_;
#line 12299 "tracker-sparql-pattern.c"
							{
								TrackerSparqlContext** _tmp43_;
								gint _tmp43__length1;
								gint _tmp44_;
								TrackerSparqlContext* _tmp45_;
								GHashTable* _tmp46_;
								TrackerSparqlVariable* _tmp47_;
								gconstpointer _tmp48_;
								GString* _tmp50_;
								TrackerSparqlVariable* _tmp51_;
								const gchar* _tmp52_;
								const gchar* _tmp53_;
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp43_ = contexts;
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp43__length1 = contexts_length1;
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp44_ = i;
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp45_ = _tmp43_[_tmp44_];
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp46_ = _tmp45_->var_set;
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp47_ = v;
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp48_ = g_hash_table_lookup (_tmp46_, _tmp47_);
#line 1264 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								if (((gint) ((gintptr) _tmp48_)) == 0) {
#line 12328 "tracker-sparql-pattern.c"
									GString* _tmp49_;
#line 1267 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp49_ = projection;
#line 1267 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									g_string_append (_tmp49_, "NULL AS ");
#line 12334 "tracker-sparql-pattern.c"
								}
#line 1269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp50_ = projection;
#line 1269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp51_ = v;
#line 1269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp52_ = tracker_sparql_variable_get_sql_expression (_tmp51_);
#line 1269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp53_ = _tmp52_;
#line 1269 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								g_string_append_printf (_tmp50_, "%s, ", _tmp53_);
#line 1263 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_g_object_unref0 (v);
#line 12348 "tracker-sparql-pattern.c"
							}
						}
					}
#line 1272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp54_ = projection;
#line 1272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp55_ = projection;
#line 1272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp56_ = _tmp55_->len;
#line 1272 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_truncate (_tmp54_, (gsize) (_tmp56_ - 2));
#line 1273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp57_ = projection;
#line 1273 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append (_tmp57_, " FROM (");
#line 1275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp58_ = offsets;
#line 1275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp58__length1 = offsets_length1;
#line 1275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp59_ = i;
#line 1275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp60_ = _tmp58_[_tmp59_];
#line 1275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp61_ = extra_offset;
#line 1275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp62_ = projection;
#line 1275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp63_ = _tmp62_->str;
#line 1275 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_insert (sql, (gssize) (_tmp60_ + _tmp61_), _tmp63_);
#line 1276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp64_ = extra_offset;
#line 1276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp65_ = projection;
#line 1276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp66_ = _tmp65_->len;
#line 1276 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					extra_offset = _tmp64_ + _tmp66_;
#line 1257 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_string_free0 (projection);
#line 12390 "tracker-sparql-pattern.c"
				}
			}
		}
#line 1278 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append (sql, ")");
#line 12396 "tracker-sparql-pattern.c"
	} else {
		TrackerSparqlContext** _tmp67_;
		gint _tmp67__length1;
		TrackerSparqlContext* _tmp68_;
		GHashTable* _tmp69_;
		GList* _tmp70_;
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp67_ = contexts;
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp67__length1 = contexts_length1;
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp68_ = _tmp67_[0];
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp69_ = _tmp68_->var_set;
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp70_ = g_hash_table_get_keys (_tmp69_);
#line 12413 "tracker-sparql-pattern.c"
		{
			GList* key_collection = NULL;
			GList* key_it = NULL;
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			key_collection = _tmp70_;
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			for (key_it = key_collection; key_it != NULL; key_it = key_it->next) {
#line 12421 "tracker-sparql-pattern.c"
				TrackerSparqlVariable* key = NULL;
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				key = (TrackerSparqlVariable*) key_it->data;
#line 12425 "tracker-sparql-pattern.c"
				{
					TrackerSparqlContext* _tmp71_;
					TrackerSparqlContext* _tmp72_;
					GHashTable* _tmp73_;
					TrackerSparqlVariable* _tmp74_;
					TrackerSparqlVariable* _tmp75_;
#line 1281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp71_ = tracker_sparql_pattern_get_context (self);
#line 1281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp72_ = _tmp71_;
#line 1281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp73_ = _tmp72_->var_set;
#line 1281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp74_ = key;
#line 1281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp75_ = _g_object_ref0 (_tmp74_);
#line 1281 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_hash_table_insert (_tmp73_, _tmp75_, (gpointer) ((gintptr) ((gint) TRACKER_SPARQL_VARIABLE_STATE_BOUND)));
#line 12444 "tracker-sparql-pattern.c"
				}
			}
#line 1280 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_list_free0 (key_collection);
#line 12449 "tracker-sparql-pattern.c"
		}
	}
#line 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	offsets = (g_free (offsets), NULL);
#line 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	contexts = (_vala_array_free (contexts, contexts_length1, (GDestroyNotify) tracker_sparql_context_unref), NULL);
#line 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_hash_table_unref0 (all_var_set);
#line 1230 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	all_vars = (_vala_array_free (all_vars, all_vars_length1, (GDestroyNotify) g_object_unref), NULL);
#line 12460 "tracker-sparql-pattern.c"
}


static TrackerSparqlVariableBindingList*
tracker_sparql_pattern_get_variable_binding_list (TrackerSparqlPattern* self,
                                                  TrackerSparqlVariable* variable)
{
	TrackerSparqlVariableBindingList* result = NULL;
	TrackerSparqlVariableBindingList* binding_list = NULL;
	TrackerSparqlPatternTripleContext* _tmp0_;
	gboolean _tmp5_ = FALSE;
	TrackerSparqlVariableBindingList* _tmp6_;
#line 1286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 1286 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (variable != NULL, NULL);
#line 1287 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	binding_list = NULL;
#line 1288 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = self->priv->triple_context;
#line 1288 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp0_ != NULL) {
#line 12483 "tracker-sparql-pattern.c"
		TrackerSparqlPatternTripleContext* _tmp1_;
		GHashTable* _tmp2_;
		gconstpointer _tmp3_;
		TrackerSparqlVariableBindingList* _tmp4_;
#line 1289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp1_ = self->priv->triple_context;
#line 1289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp2_ = _tmp1_->var_bindings;
#line 1289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp3_ = g_hash_table_lookup (_tmp2_, variable);
#line 1289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp4_ = _g_object_ref0 ((TrackerSparqlVariableBindingList*) _tmp3_);
#line 1289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (binding_list);
#line 1289 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		binding_list = _tmp4_;
#line 12500 "tracker-sparql-pattern.c"
	}
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp6_ = binding_list;
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp6_ == NULL) {
#line 12506 "tracker-sparql-pattern.c"
		TrackerSparqlVariableBinding* _tmp7_;
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp7_ = variable->binding;
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp5_ = _tmp7_ != NULL;
#line 12512 "tracker-sparql-pattern.c"
	} else {
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp5_ = FALSE;
#line 12516 "tracker-sparql-pattern.c"
	}
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp5_) {
#line 12520 "tracker-sparql-pattern.c"
		TrackerSparqlContext* current_context = NULL;
		TrackerSparqlContext* _tmp8_;
		TrackerSparqlContext* _tmp9_;
		TrackerSparqlContext* _tmp10_;
#line 1293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp8_ = tracker_sparql_pattern_get_context (self);
#line 1293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp9_ = _tmp8_;
#line 1293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp10_ = _tracker_sparql_context_ref0 (_tmp9_);
#line 1293 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		current_context = _tmp10_;
#line 1294 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		while (TRUE) {
#line 12535 "tracker-sparql-pattern.c"
			TrackerSparqlContext* _tmp11_;
			gboolean _tmp12_ = FALSE;
			TrackerSparqlContext* _tmp13_;
			gboolean _tmp14_;
			TrackerSparqlContext* _tmp52_;
			TrackerSparqlContext* _tmp53_;
			TrackerSparqlContext* _tmp54_;
#line 1294 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp11_ = current_context;
#line 1294 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (!(_tmp11_ != NULL)) {
#line 1294 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				break;
#line 12549 "tracker-sparql-pattern.c"
			}
#line 1297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp13_ = current_context;
#line 1297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp14_ = _tmp13_->scalar_subquery;
#line 1297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp14_) {
#line 12557 "tracker-sparql-pattern.c"
				TrackerSparqlContext* _tmp15_;
				TrackerSparqlContext* _tmp16_;
				GHashTable* _tmp17_;
				gconstpointer _tmp18_;
#line 1297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp15_ = current_context;
#line 1297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp16_ = _tmp15_->parent_context;
#line 1297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp17_ = _tmp16_->var_set;
#line 1297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp18_ = g_hash_table_lookup (_tmp17_, variable);
#line 1297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp12_ = ((gint) ((gintptr) _tmp18_)) != 0;
#line 12572 "tracker-sparql-pattern.c"
			} else {
#line 1297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp12_ = FALSE;
#line 12576 "tracker-sparql-pattern.c"
			}
#line 1297 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp12_) {
#line 12580 "tracker-sparql-pattern.c"
				TrackerSparqlVariableBinding* binding = NULL;
				TrackerSparqlVariableBinding* _tmp19_;
				TrackerSparqlVariableBinding* _tmp20_;
				TrackerSparqlVariableBinding* _tmp21_;
				TrackerPropertyType _tmp22_;
				TrackerSparqlVariableBinding* _tmp23_;
				TrackerSparqlContext* _tmp24_;
				TrackerSparqlContext* _tmp25_;
				const gchar* _tmp26_;
				const gchar* _tmp27_;
				TrackerSparqlVariable* _tmp28_;
				TrackerSparqlVariableBinding* _tmp29_;
				TrackerSparqlVariableBinding* _tmp30_;
				TrackerClass* _tmp31_;
				TrackerClass* _tmp32_;
				TrackerSparqlVariableBinding* _tmp33_;
				const gchar* _tmp34_;
				const gchar* _tmp35_;
				TrackerSparqlVariableBindingList* _tmp36_;
				TrackerSparqlPatternTripleContext* _tmp37_;
				TrackerSparqlContext* _tmp45_;
				TrackerSparqlContext* _tmp46_;
				GHashTable* _tmp47_;
				TrackerSparqlVariable* _tmp48_;
				TrackerSparqlVariableBindingList* _tmp49_;
				TrackerSparqlVariableBinding* _tmp50_;
				TrackerSparqlVariableBinding* _tmp51_;
#line 1299 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp19_ = tracker_sparql_variable_binding_new ();
#line 1299 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				binding = _tmp19_;
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp20_ = binding;
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp21_ = variable->binding;
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp22_ = ((TrackerSparqlDataBinding*) _tmp21_)->data_type;
#line 1300 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				((TrackerSparqlDataBinding*) _tmp20_)->data_type = _tmp22_;
#line 1301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp23_ = binding;
#line 1301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp24_ = tracker_sparql_pattern_get_context (self);
#line 1301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp25_ = _tmp24_;
#line 1301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp26_ = tracker_sparql_variable_get_name (variable);
#line 1301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp27_ = _tmp26_;
#line 1301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp28_ = tracker_sparql_context_get_variable (_tmp25_, _tmp27_);
#line 1301 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp23_->variable = _tmp28_;
#line 1302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp29_ = binding;
#line 1302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp30_ = variable->binding;
#line 1302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp31_ = _tmp30_->type;
#line 1302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp32_ = _g_object_ref0 (_tmp31_);
#line 1302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (_tmp29_->type);
#line 1302 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp29_->type = _tmp32_;
#line 1303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp33_ = binding;
#line 1303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp34_ = tracker_sparql_variable_get_sql_expression (variable);
#line 1303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp35_ = _tmp34_;
#line 1303 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_data_binding_set_sql_expression ((TrackerSparqlDataBinding*) _tmp33_, _tmp35_);
#line 1304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp36_ = tracker_sparql_variable_binding_list_new ();
#line 1304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (binding_list);
#line 1304 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				binding_list = _tmp36_;
#line 1305 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp37_ = self->priv->triple_context;
#line 1305 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp37_ != NULL) {
#line 12664 "tracker-sparql-pattern.c"
					TrackerSparqlPatternTripleContext* _tmp38_;
					TrackerSparqlVariable* _tmp39_;
					TrackerSparqlPatternTripleContext* _tmp40_;
					GHashTable* _tmp41_;
					TrackerSparqlVariable* _tmp42_;
					TrackerSparqlVariableBindingList* _tmp43_;
					TrackerSparqlVariableBindingList* _tmp44_;
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp38_ = self->priv->triple_context;
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp39_ = _g_object_ref0 (variable);
#line 1306 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp38_->variables = g_list_append (_tmp38_->variables, _tmp39_);
#line 1307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp40_ = self->priv->triple_context;
#line 1307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp41_ = _tmp40_->var_bindings;
#line 1307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp42_ = _g_object_ref0 (variable);
#line 1307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp43_ = binding_list;
#line 1307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp44_ = _g_object_ref0 (_tmp43_);
#line 1307 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_hash_table_insert (_tmp41_, _tmp42_, _tmp44_);
#line 12690 "tracker-sparql-pattern.c"
				}
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp45_ = tracker_sparql_pattern_get_context (self);
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp46_ = _tmp45_;
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp47_ = _tmp46_->var_set;
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp48_ = _g_object_ref0 (variable);
#line 1310 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_hash_table_insert (_tmp47_, _tmp48_, (gpointer) ((gintptr) ((gint) TRACKER_SPARQL_VARIABLE_STATE_BOUND)));
#line 1311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp49_ = binding_list;
#line 1311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp50_ = binding;
#line 1311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp51_ = _g_object_ref0 (_tmp50_);
#line 1311 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp49_->list = g_list_append (_tmp49_->list, _tmp51_);
#line 1312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (binding);
#line 1312 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				break;
#line 12714 "tracker-sparql-pattern.c"
			}
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp52_ = current_context;
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp53_ = _tmp52_->parent_context;
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp54_ = _tracker_sparql_context_ref0 (_tmp53_);
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tracker_sparql_context_unref0 (current_context);
#line 1314 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			current_context = _tmp54_;
#line 12726 "tracker-sparql-pattern.c"
		}
#line 1291 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tracker_sparql_context_unref0 (current_context);
#line 12730 "tracker-sparql-pattern.c"
	}
#line 1317 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	result = binding_list;
#line 1317 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return result;
#line 12736 "tracker-sparql-pattern.c"
}


void
tracker_sparql_pattern_add_variable_binding (TrackerSparqlPattern* self,
                                             GString* sql,
                                             TrackerSparqlVariableBinding* binding,
                                             TrackerSparqlVariableState variable_state)
{
	TrackerSparqlVariableBindingList* binding_list = NULL;
	TrackerSparqlVariable* _tmp0_;
	TrackerSparqlVariableBindingList* _tmp1_;
	TrackerSparqlVariableBindingList* _tmp2_;
	TrackerSparqlVariableBindingList* _tmp35_;
	TrackerSparqlVariableBinding* _tmp36_;
	TrackerSparqlVariable* _tmp37_;
	TrackerSparqlVariableBinding* _tmp38_;
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (sql != NULL);
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (binding != NULL);
#line 1321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = binding->variable;
#line 1321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = tracker_sparql_pattern_get_variable_binding_list (self, _tmp0_);
#line 1321 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	binding_list = _tmp1_;
#line 1322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp2_ = binding_list;
#line 1322 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp2_ == NULL) {
#line 12770 "tracker-sparql-pattern.c"
		TrackerSparqlVariableBindingList* _tmp3_;
		TrackerSparqlPatternTripleContext* _tmp4_;
		const gchar* _tmp14_;
		const gchar* _tmp15_;
		TrackerSparqlVariable* _tmp16_;
		const gchar* _tmp17_;
		const gchar* _tmp18_;
		TrackerPropertyType _tmp19_;
		TrackerSparqlContext* _tmp30_;
		TrackerSparqlContext* _tmp31_;
		GHashTable* _tmp32_;
		TrackerSparqlVariable* _tmp33_;
		TrackerSparqlVariable* _tmp34_;
#line 1323 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp3_ = tracker_sparql_variable_binding_list_new ();
#line 1323 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (binding_list);
#line 1323 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		binding_list = _tmp3_;
#line 1324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp4_ = self->priv->triple_context;
#line 1324 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp4_ != NULL) {
#line 12794 "tracker-sparql-pattern.c"
			TrackerSparqlPatternTripleContext* _tmp5_;
			TrackerSparqlVariable* _tmp6_;
			TrackerSparqlVariable* _tmp7_;
			TrackerSparqlPatternTripleContext* _tmp8_;
			GHashTable* _tmp9_;
			TrackerSparqlVariable* _tmp10_;
			TrackerSparqlVariable* _tmp11_;
			TrackerSparqlVariableBindingList* _tmp12_;
			TrackerSparqlVariableBindingList* _tmp13_;
#line 1325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp5_ = self->priv->triple_context;
#line 1325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp6_ = binding->variable;
#line 1325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp7_ = _g_object_ref0 (_tmp6_);
#line 1325 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp5_->variables = g_list_append (_tmp5_->variables, _tmp7_);
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp8_ = self->priv->triple_context;
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp9_ = _tmp8_->var_bindings;
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp10_ = binding->variable;
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp11_ = _g_object_ref0 (_tmp10_);
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp12_ = binding_list;
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp13_ = _g_object_ref0 (_tmp12_);
#line 1326 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_hash_table_insert (_tmp9_, _tmp11_, _tmp13_);
#line 12826 "tracker-sparql-pattern.c"
		}
#line 1329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp14_ = tracker_sparql_data_binding_get_sql_expression ((TrackerSparqlDataBinding*) binding);
#line 1329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp15_ = _tmp14_;
#line 1329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp16_ = binding->variable;
#line 1329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp17_ = tracker_sparql_variable_get_sql_expression (_tmp16_);
#line 1329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp18_ = _tmp17_;
#line 1329 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append_printf (sql, "%s AS %s, ", _tmp15_, _tmp18_);
#line 1333 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp19_ = ((TrackerSparqlDataBinding*) binding)->data_type;
#line 1333 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp19_ == TRACKER_PROPERTY_TYPE_DATETIME) {
#line 12844 "tracker-sparql-pattern.c"
			gchar* _tmp20_;
			gchar* _tmp21_;
			TrackerSparqlVariable* _tmp22_;
			gchar* _tmp23_;
			gchar* _tmp24_;
			gchar* _tmp25_;
			gchar* _tmp26_;
			TrackerSparqlVariable* _tmp27_;
			gchar* _tmp28_;
			gchar* _tmp29_;
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp20_ = tracker_sparql_data_binding_get_extra_sql_expression ((TrackerSparqlDataBinding*) binding, "localDate");
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp21_ = _tmp20_;
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp22_ = binding->variable;
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp23_ = tracker_sparql_variable_get_extra_sql_expression (_tmp22_, "localDate");
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp24_ = _tmp23_;
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_string_append_printf (sql, "%s AS %s, ", _tmp21_, _tmp24_);
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (_tmp24_);
#line 1334 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (_tmp21_);
#line 1337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp25_ = tracker_sparql_data_binding_get_extra_sql_expression ((TrackerSparqlDataBinding*) binding, "localTime");
#line 1337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp26_ = _tmp25_;
#line 1337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp27_ = binding->variable;
#line 1337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp28_ = tracker_sparql_variable_get_extra_sql_expression (_tmp27_, "localTime");
#line 1337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp29_ = _tmp28_;
#line 1337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_string_append_printf (sql, "%s AS %s, ", _tmp26_, _tmp29_);
#line 1337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (_tmp29_);
#line 1337 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (_tmp26_);
#line 12887 "tracker-sparql-pattern.c"
		}
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp30_ = tracker_sparql_pattern_get_context (self);
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp31_ = _tmp30_;
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp32_ = _tmp31_->var_set;
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp33_ = binding->variable;
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp34_ = _g_object_ref0 (_tmp33_);
#line 1342 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_hash_table_insert (_tmp32_, _tmp34_, (gpointer) ((gintptr) ((gint) variable_state)));
#line 12901 "tracker-sparql-pattern.c"
	}
#line 1344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp35_ = binding_list;
#line 1344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp36_ = _g_object_ref0 (binding);
#line 1344 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp35_->list = g_list_append (_tmp35_->list, _tmp36_);
#line 1345 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp37_ = binding->variable;
#line 1345 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp38_ = _tmp37_->binding;
#line 1345 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp38_ == NULL) {
#line 12915 "tracker-sparql-pattern.c"
		TrackerSparqlVariable* _tmp39_;
		TrackerSparqlVariableBinding* _tmp40_;
#line 1346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp39_ = binding->variable;
#line 1346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp40_ = _g_object_ref0 (binding);
#line 1346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (_tmp39_->binding);
#line 1346 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp39_->binding = _tmp40_;
#line 12926 "tracker-sparql-pattern.c"
	}
#line 1320 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_object_unref0 (binding_list);
#line 12930 "tracker-sparql-pattern.c"
}


static void
tracker_sparql_pattern_parse_object (TrackerSparqlPattern* self,
                                     GString* sql,
                                     gboolean in_simple_optional,
                                     GError** error)
{
	glong begin_sql_len = 0L;
	gssize _tmp0_;
	gboolean object_is_var = FALSE;
	gchar* object = NULL;
	gboolean _tmp1_ = FALSE;
	gchar* _tmp2_;
	gchar* db_table = NULL;
	gboolean rdftype = FALSE;
	gboolean share_table = FALSE;
	gboolean is_fts_match = FALSE;
	gboolean newtable = FALSE;
	TrackerSparqlDataTable* table = NULL;
	TrackerProperty* prop = NULL;
	TrackerClass* subject_type = NULL;
	TrackerOntologies* ontologies = NULL;
	TrackerDataManager* _tmp3_;
	TrackerOntologies* _tmp4_;
	TrackerOntologies* _tmp5_;
	gboolean _tmp6_;
	gboolean _tmp265_;
	gboolean _tmp299_;
	gssize _tmp427_;
	glong _tmp428_;
	GError * _inner_error_ = NULL;
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (sql != NULL);
#line 1351 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = sql->len;
#line 1351 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	begin_sql_len = (glong) _tmp0_;
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp2_ = tracker_sparql_pattern_parse_var_or_term (self, sql, &_tmp1_, &_inner_error_);
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	object_is_var = _tmp1_;
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	object = _tmp2_;
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_propagate_error (error, _inner_error_);
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 12986 "tracker-sparql-pattern.c"
		} else {
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_critical ("file %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-pattern.vala"
			g_clear_error (&_inner_error_);
#line 1354 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			return;
#line 12994 "tracker-sparql-pattern.c"
		}
	}
#line 1356 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	db_table = NULL;
#line 1357 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	rdftype = FALSE;
#line 1358 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	share_table = TRUE;
#line 1359 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	is_fts_match = FALSE;
#line 1363 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	prop = NULL;
#line 1365 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	subject_type = NULL;
#line 1367 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp3_ = self->priv->manager;
#line 1367 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp4_ = tracker_data_manager_get_ontologies (_tmp3_);
#line 1367 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp5_ = _g_object_ref0 (_tmp4_);
#line 1367 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	ontologies = _tmp5_;
#line 1369 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp6_ = self->priv->current_predicate_is_var;
#line 1369 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (!_tmp6_) {
#line 13021 "tracker-sparql-pattern.c"
		TrackerOntologies* _tmp7_;
		const gchar* _tmp8_;
		TrackerProperty* _tmp9_;
		TrackerProperty* _tmp10_;
		gboolean _tmp11_ = FALSE;
		gboolean _tmp12_ = FALSE;
		const gchar* _tmp13_;
		const gchar* _tmp197_;
		const gchar* _tmp198_;
		gboolean _tmp199_;
		gboolean _tmp200_ = FALSE;
		TrackerSparqlDataTable* _tmp201_;
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp7_ = ontologies;
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp8_ = self->priv->current_predicate;
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp9_ = tracker_ontologies_get_property_by_uri (_tmp7_, _tmp8_);
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp10_ = _g_object_ref0 (_tmp9_);
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (prop);
#line 1370 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		prop = _tmp10_;
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp13_ = self->priv->current_predicate;
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (g_strcmp0 (_tmp13_, "http://www.w3.org/1999/02/22-rdf-syntax-ns#type") == 0) {
#line 13050 "tracker-sparql-pattern.c"
			gboolean _tmp14_;
#line 1373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp14_ = object_is_var;
#line 1373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp12_ = !_tmp14_;
#line 13056 "tracker-sparql-pattern.c"
		} else {
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp12_ = FALSE;
#line 13060 "tracker-sparql-pattern.c"
		}
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp12_) {
#line 13064 "tracker-sparql-pattern.c"
			const gchar* _tmp15_;
#line 1373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp15_ = self->current_graph;
#line 1373 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp11_ = _tmp15_ == NULL;
#line 13070 "tracker-sparql-pattern.c"
		} else {
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp11_ = FALSE;
#line 13074 "tracker-sparql-pattern.c"
		}
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp11_) {
#line 13078 "tracker-sparql-pattern.c"
			TrackerClass* cl = NULL;
			TrackerOntologies* _tmp16_;
			const gchar* _tmp17_;
			TrackerClass* _tmp18_;
			TrackerClass* _tmp19_;
			TrackerClass* _tmp20_;
			TrackerClass* _tmp26_;
			const gchar* _tmp27_;
			const gchar* _tmp28_;
			gchar* _tmp29_;
			TrackerClass* _tmp30_;
			TrackerClass* _tmp31_;
#line 1376 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			rdftype = TRUE;
#line 1377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp16_ = ontologies;
#line 1377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp17_ = object;
#line 1377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp18_ = tracker_ontologies_get_class_by_uri (_tmp16_, _tmp17_);
#line 1377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp19_ = _g_object_ref0 (_tmp18_);
#line 1377 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			cl = _tmp19_;
#line 1378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp20_ = cl;
#line 1378 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp20_ == NULL) {
#line 13107 "tracker-sparql-pattern.c"
				const gchar* _tmp21_;
				gchar* _tmp22_;
				gchar* _tmp23_;
				GError* _tmp24_;
				GError* _tmp25_;
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp21_ = object;
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp22_ = g_strdup_printf ("Unknown class `%s'", _tmp21_);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp23_ = _tmp22_;
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp24_ = g_error_new_literal (TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_UNKNOWN_CLASS, _tmp23_);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp25_ = _tmp24_;
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp23_);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_inner_error_ = _tmp25_;
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_propagate_error (error, _inner_error_);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (cl);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (ontologies);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (subject_type);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (prop);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (table);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (db_table);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (object);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 13147 "tracker-sparql-pattern.c"
				} else {
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (cl);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (ontologies);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (subject_type);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (prop);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (table);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (db_table);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (object);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_critical ("file %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-pattern.vala"
					g_clear_error (&_inner_error_);
#line 1379 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 13169 "tracker-sparql-pattern.c"
				}
			}
#line 1381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp26_ = cl;
#line 1381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp27_ = tracker_class_get_name (_tmp26_);
#line 1381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp28_ = _tmp27_;
#line 1381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp29_ = g_strdup (_tmp28_);
#line 1381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (db_table);
#line 1381 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			db_table = _tmp29_;
#line 1382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp30_ = cl;
#line 1382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp31_ = _g_object_ref0 (_tmp30_);
#line 1382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (subject_type);
#line 1382 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			subject_type = _tmp31_;
#line 1372 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (cl);
#line 13194 "tracker-sparql-pattern.c"
		} else {
			TrackerProperty* _tmp32_;
#line 1383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp32_ = prop;
#line 1383 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp32_ == NULL) {
#line 13201 "tracker-sparql-pattern.c"
				const gchar* _tmp33_;
#line 1384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp33_ = self->priv->current_predicate;
#line 1384 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (g_strcmp0 (_tmp33_, "http://www.tracker-project.org/ontologies/fts#match") == 0) {
#line 13207 "tracker-sparql-pattern.c"
					gchar* _tmp34_;
					TrackerSparqlContext* _tmp35_;
					TrackerSparqlContext* _tmp36_;
					const gchar* _tmp37_;
					TrackerSparqlVariable* _tmp38_;
					TrackerSparqlVariable* _tmp39_;
#line 1386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp34_ = g_strdup ("fts5");
#line 1386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (db_table);
#line 1386 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					db_table = _tmp34_;
#line 1387 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					share_table = FALSE;
#line 1388 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					is_fts_match = TRUE;
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp35_ = tracker_sparql_pattern_get_context (self);
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp36_ = _tmp35_;
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp37_ = self->priv->current_subject;
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp38_ = tracker_sparql_context_get_variable (_tmp36_, _tmp37_);
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp39_ = _g_object_ref0 (_tmp38_);
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (self->fts_subject);
#line 1389 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					self->fts_subject = _tmp39_;
#line 13238 "tracker-sparql-pattern.c"
				} else {
					const gchar* _tmp40_;
					gchar* _tmp41_;
					gchar* _tmp42_;
					GError* _tmp43_;
					GError* _tmp44_;
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp40_ = self->priv->current_predicate;
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp41_ = g_strdup_printf ("Unknown property `%s'", _tmp40_);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp42_ = _tmp41_;
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp43_ = g_error_new_literal (TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_UNKNOWN_PROPERTY, _tmp42_);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp44_ = _tmp43_;
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (_tmp42_);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_inner_error_ = _tmp44_;
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_propagate_error (error, _inner_error_);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (ontologies);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (subject_type);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (prop);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (table);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (db_table);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (object);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return;
#line 13277 "tracker-sparql-pattern.c"
					} else {
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (ontologies);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (subject_type);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (prop);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (table);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (db_table);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (object);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_critical ("file %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-pattern.vala"
						g_clear_error (&_inner_error_);
#line 1391 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						return;
#line 13297 "tracker-sparql-pattern.c"
					}
				}
			} else {
				gboolean _tmp45_ = FALSE;
				gboolean _tmp46_ = FALSE;
				const gchar* _tmp47_;
				gboolean _tmp85_;
				const gchar* _tmp115_;
				TrackerProperty* _tmp120_;
				gboolean _tmp121_;
				gboolean _tmp122_;
				TrackerProperty* _tmp123_;
				TrackerClass* _tmp124_;
				TrackerClass* _tmp125_;
				TrackerClass* _tmp126_;
				gboolean _tmp127_ = FALSE;
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp47_ = self->priv->current_predicate;
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (g_strcmp0 (_tmp47_, "http://www.w3.org/2000/01/rdf-schema#domain") == 0) {
#line 13318 "tracker-sparql-pattern.c"
					gboolean _tmp48_;
#line 1395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp48_ = self->priv->current_subject_is_var;
#line 1395 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp46_ = _tmp48_;
#line 13324 "tracker-sparql-pattern.c"
				} else {
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp46_ = FALSE;
#line 13328 "tracker-sparql-pattern.c"
				}
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp46_) {
#line 13332 "tracker-sparql-pattern.c"
					gboolean _tmp49_;
#line 1396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp49_ = object_is_var;
#line 1396 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp45_ = !_tmp49_;
#line 13338 "tracker-sparql-pattern.c"
				} else {
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp45_ = FALSE;
#line 13342 "tracker-sparql-pattern.c"
				}
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp45_) {
#line 13346 "tracker-sparql-pattern.c"
					TrackerClass* domain = NULL;
					TrackerOntologies* _tmp50_;
					const gchar* _tmp51_;
					TrackerClass* _tmp52_;
					TrackerClass* _tmp53_;
					TrackerClass* _tmp54_;
					TrackerSparqlPredicateVariable* pv = NULL;
					TrackerSparqlContext* _tmp60_;
					TrackerSparqlContext* _tmp61_;
					GHashTable* _tmp62_;
					TrackerSparqlContext* _tmp63_;
					TrackerSparqlContext* _tmp64_;
					const gchar* _tmp65_;
					TrackerSparqlVariable* _tmp66_;
					gconstpointer _tmp67_;
					TrackerSparqlPredicateVariable* _tmp68_;
					TrackerSparqlPredicateVariable* _tmp69_;
					TrackerSparqlPredicateVariable* _tmp82_;
					TrackerClass* _tmp83_;
					TrackerClass* _tmp84_;
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp50_ = ontologies;
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp51_ = object;
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp52_ = tracker_ontologies_get_class_by_uri (_tmp50_, _tmp51_);
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp53_ = _g_object_ref0 (_tmp52_);
#line 1398 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					domain = _tmp53_;
#line 1399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp54_ = domain;
#line 1399 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp54_ == NULL) {
#line 13381 "tracker-sparql-pattern.c"
						const gchar* _tmp55_;
						gchar* _tmp56_;
						gchar* _tmp57_;
						GError* _tmp58_;
						GError* _tmp59_;
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp55_ = object;
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp56_ = g_strdup_printf ("Unknown class `%s'", _tmp55_);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp57_ = _tmp56_;
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp58_ = g_error_new_literal (TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_UNKNOWN_CLASS, _tmp57_);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp59_ = _tmp58_;
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_free0 (_tmp57_);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_inner_error_ = _tmp59_;
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						if (_inner_error_->domain == TRACKER_SPARQL_ERROR) {
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_propagate_error (error, _inner_error_);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (domain);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (ontologies);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (subject_type);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (prop);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (table);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (db_table);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (object);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return;
#line 13421 "tracker-sparql-pattern.c"
						} else {
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (domain);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (ontologies);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (subject_type);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (prop);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_object_unref0 (table);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (db_table);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							_g_free0 (object);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							g_clear_error (&_inner_error_);
#line 1400 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							return;
#line 13443 "tracker-sparql-pattern.c"
						}
					}
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp60_ = tracker_sparql_pattern_get_context (self);
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp61_ = _tmp60_;
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp62_ = _tmp61_->predicate_variable_map;
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp63_ = tracker_sparql_pattern_get_context (self);
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp64_ = _tmp63_;
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp65_ = self->priv->current_subject;
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp66_ = tracker_sparql_context_get_variable (_tmp64_, _tmp65_);
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp67_ = g_hash_table_lookup (_tmp62_, _tmp66_);
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp68_ = _g_object_ref0 ((TrackerSparqlPredicateVariable*) _tmp67_);
#line 1402 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					pv = _tmp68_;
#line 1403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp69_ = pv;
#line 1403 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp69_ == NULL) {
#line 13470 "tracker-sparql-pattern.c"
						TrackerDataManager* _tmp70_;
						TrackerSparqlPredicateVariable* _tmp71_;
						TrackerSparqlContext* _tmp72_;
						TrackerSparqlContext* _tmp73_;
						GHashTable* _tmp74_;
						TrackerSparqlContext* _tmp75_;
						TrackerSparqlContext* _tmp76_;
						const gchar* _tmp77_;
						TrackerSparqlVariable* _tmp78_;
						TrackerSparqlVariable* _tmp79_;
						TrackerSparqlPredicateVariable* _tmp80_;
						TrackerSparqlPredicateVariable* _tmp81_;
#line 1404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp70_ = self->priv->manager;
#line 1404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp71_ = tracker_sparql_predicate_variable_new (_tmp70_);
#line 1404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_g_object_unref0 (pv);
#line 1404 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						pv = _tmp71_;
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp72_ = tracker_sparql_pattern_get_context (self);
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp73_ = _tmp72_;
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp74_ = _tmp73_->predicate_variable_map;
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp75_ = tracker_sparql_pattern_get_context (self);
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp76_ = _tmp75_;
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp77_ = self->priv->current_subject;
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp78_ = tracker_sparql_context_get_variable (_tmp76_, _tmp77_);
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp79_ = _g_object_ref0 (_tmp78_);
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp80_ = pv;
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp81_ = _g_object_ref0 (_tmp80_);
#line 1405 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						g_hash_table_insert (_tmp74_, _tmp79_, _tmp81_);
#line 13513 "tracker-sparql-pattern.c"
					}
#line 1407 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp82_ = pv;
#line 1407 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp83_ = domain;
#line 1407 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp84_ = _g_object_ref0 (_tmp83_);
#line 1407 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (_tmp82_->domain);
#line 1407 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp82_->domain = _tmp84_;
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (pv);
#line 1394 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (domain);
#line 13529 "tracker-sparql-pattern.c"
				}
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp85_ = self->priv->current_subject_is_var;
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp85_) {
#line 13535 "tracker-sparql-pattern.c"
					TrackerSparqlVariable* v = NULL;
					TrackerSparqlContext* _tmp86_;
					TrackerSparqlContext* _tmp87_;
					const gchar* _tmp88_;
					TrackerSparqlVariable* _tmp89_;
					TrackerSparqlVariable* _tmp90_;
					TrackerSparqlVariableBindingList* list = NULL;
					TrackerSparqlPatternTripleContext* _tmp91_;
					GHashTable* _tmp92_;
					TrackerSparqlVariable* _tmp93_;
					gconstpointer _tmp94_;
					TrackerSparqlVariableBindingList* _tmp95_;
					gboolean _tmp96_ = FALSE;
					TrackerSparqlVariableBindingList* _tmp97_;
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp86_ = tracker_sparql_pattern_get_context (self);
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp87_ = _tmp86_;
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp88_ = self->priv->current_subject;
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp89_ = tracker_sparql_context_get_variable (_tmp87_, _tmp88_);
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp90_ = _g_object_ref0 (_tmp89_);
#line 1412 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					v = _tmp90_;
#line 1413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp91_ = self->priv->triple_context;
#line 1413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp92_ = _tmp91_->var_bindings;
#line 1413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp93_ = v;
#line 1413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp94_ = g_hash_table_lookup (_tmp92_, _tmp93_);
#line 1413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp95_ = _g_object_ref0 ((TrackerSparqlVariableBindingList*) _tmp94_);
#line 1413 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					list = _tmp95_;
#line 1415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp97_ = list;
#line 1415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp97_ != NULL) {
#line 13578 "tracker-sparql-pattern.c"
						TrackerSparqlVariableBindingList* _tmp98_;
						GList* _tmp99_;
#line 1415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp98_ = list;
#line 1415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp99_ = _tmp98_->list;
#line 1415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp96_ = _tmp99_ != NULL;
#line 13587 "tracker-sparql-pattern.c"
					} else {
#line 1415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp96_ = FALSE;
#line 13591 "tracker-sparql-pattern.c"
					}
#line 1415 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					if (_tmp96_) {
#line 13595 "tracker-sparql-pattern.c"
						gboolean stop = FALSE;
						TrackerProperty* _tmp100_;
						TrackerClass** _tmp101_;
						TrackerClass** _tmp102_;
#line 1416 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						stop = FALSE;
#line 1417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp100_ = prop;
#line 1417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
						_tmp102_ = _tmp101_ = tracker_property_get_domain_indexes (_tmp100_);
#line 13606 "tracker-sparql-pattern.c"
						{
							TrackerClass** cl_collection = NULL;
							gint cl_collection_length1 = 0;
							gint _cl_collection_size_ = 0;
							gint cl_it = 0;
#line 1417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							cl_collection = _tmp102_;
#line 1417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							cl_collection_length1 = _vala_array_length (_tmp101_);
#line 1417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
							for (cl_it = 0; cl_it < _vala_array_length (_tmp101_); cl_it = cl_it + 1) {
#line 13618 "tracker-sparql-pattern.c"
								TrackerClass* _tmp103_;
								TrackerClass* cl = NULL;
#line 1417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								_tmp103_ = _g_object_ref0 (cl_collection[cl_it]);
#line 1417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
								cl = _tmp103_;
#line 13625 "tracker-sparql-pattern.c"
								{
									TrackerSparqlVariableBindingList* _tmp104_;
									GList* _tmp105_;
									gboolean _tmp114_;
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp104_ = list;
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp105_ = _tmp104_->list;
#line 13634 "tracker-sparql-pattern.c"
									{
										GList* b_collection = NULL;
										GList* b_it = NULL;
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										b_collection = _tmp105_;
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										for (b_it = b_collection; b_it != NULL; b_it = b_it->next) {
#line 13642 "tracker-sparql-pattern.c"
											TrackerSparqlVariableBinding* _tmp106_;
											TrackerSparqlVariableBinding* b = NULL;
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											_tmp106_ = _g_object_ref0 ((TrackerSparqlVariableBinding*) b_it->data);
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
											b = _tmp106_;
#line 13649 "tracker-sparql-pattern.c"
											{
												TrackerSparqlVariableBinding* _tmp107_;
												TrackerClass* _tmp108_;
												TrackerClass* _tmp109_;
#line 1419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												_tmp107_ = b;
#line 1419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												_tmp108_ = _tmp107_->type;
#line 1419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												_tmp109_ = cl;
#line 1419 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												if (_tmp108_ == _tmp109_) {
#line 13662 "tracker-sparql-pattern.c"
													TrackerClass* _tmp110_;
													const gchar* _tmp111_;
													const gchar* _tmp112_;
													gchar* _tmp113_;
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													_tmp110_ = cl;
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													_tmp111_ = tracker_class_get_name (_tmp110_);
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													_tmp112_ = _tmp111_;
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													_tmp113_ = g_strdup (_tmp112_);
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													_g_free0 (db_table);
#line 1420 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													db_table = _tmp113_;
#line 1421 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													stop = TRUE;
#line 1422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													_g_object_unref0 (b);
#line 1422 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
													break;
#line 13685 "tracker-sparql-pattern.c"
												}
#line 1418 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
												_g_object_unref0 (b);
#line 13689 "tracker-sparql-pattern.c"
											}
										}
									}
#line 1425 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_tmp114_ = stop;
#line 1425 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									if (_tmp114_) {
#line 1426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										_g_object_unref0 (cl);
#line 1426 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
										break;
#line 13701 "tracker-sparql-pattern.c"
									}
#line 1417 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
									_g_object_unref0 (cl);
#line 13705 "tracker-sparql-pattern.c"
								}
							}
						}
					}
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (list);
#line 1410 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (v);
#line 13714 "tracker-sparql-pattern.c"
				}
#line 1432 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp115_ = db_table;
#line 1432 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp115_ == NULL) {
#line 13720 "tracker-sparql-pattern.c"
					TrackerProperty* _tmp116_;
					const gchar* _tmp117_;
					const gchar* _tmp118_;
					gchar* _tmp119_;
#line 1433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp116_ = prop;
#line 1433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp117_ = tracker_property_get_table_name (_tmp116_);
#line 1433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp118_ = _tmp117_;
#line 1433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp119_ = g_strdup (_tmp118_);
#line 1433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (db_table);
#line 1433 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					db_table = _tmp119_;
#line 13737 "tracker-sparql-pattern.c"
				}
#line 1435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp120_ = prop;
#line 1435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp121_ = tracker_property_get_multiple_values (_tmp120_);
#line 1435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp122_ = _tmp121_;
#line 1435 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp122_) {
#line 1438 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					share_table = FALSE;
#line 13749 "tracker-sparql-pattern.c"
				}
#line 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp123_ = prop;
#line 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp124_ = tracker_property_get_domain (_tmp123_);
#line 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp125_ = _tmp124_;
#line 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp126_ = _g_object_ref0 (_tmp125_);
#line 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (subject_type);
#line 1440 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				subject_type = _tmp126_;
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (in_simple_optional) {
#line 13765 "tracker-sparql-pattern.c"
					TrackerSparqlContext* _tmp128_;
					TrackerSparqlContext* _tmp129_;
					GHashTable* _tmp130_;
					TrackerSparqlContext* _tmp131_;
					TrackerSparqlContext* _tmp132_;
					const gchar* _tmp133_;
					TrackerSparqlVariable* _tmp134_;
					gconstpointer _tmp135_;
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp128_ = tracker_sparql_pattern_get_context (self);
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp129_ = _tmp128_;
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp130_ = _tmp129_->var_set;
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp131_ = tracker_sparql_pattern_get_context (self);
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp132_ = _tmp131_;
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp133_ = self->priv->current_subject;
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp134_ = tracker_sparql_context_get_variable (_tmp132_, _tmp133_);
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp135_ = g_hash_table_lookup (_tmp130_, _tmp134_);
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp127_ = ((gint) ((gintptr) _tmp135_)) == 0;
#line 13792 "tracker-sparql-pattern.c"
				} else {
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp127_ = FALSE;
#line 13796 "tracker-sparql-pattern.c"
				}
#line 1442 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp127_) {
#line 13800 "tracker-sparql-pattern.c"
					TrackerSparqlVariableBinding* binding = NULL;
					TrackerSparqlVariableBinding* _tmp136_;
					TrackerSparqlVariableBinding* _tmp137_;
					TrackerSparqlVariableBinding* _tmp138_;
					TrackerSparqlContext* _tmp139_;
					TrackerSparqlContext* _tmp140_;
					const gchar* _tmp141_;
					TrackerSparqlVariable* _tmp142_;
					TrackerSparqlPatternTripleContext* _tmp143_;
					GHashTable* _tmp144_;
					TrackerSparqlVariableBinding* _tmp145_;
					TrackerSparqlVariable* _tmp146_;
					gconstpointer _tmp147_;
					TrackerSparqlVariableBindingList* binding_list = NULL;
					TrackerSparqlVariableBindingList* _tmp148_;
					TrackerSparqlPatternTripleContext* _tmp149_;
					TrackerSparqlVariableBinding* _tmp150_;
					TrackerSparqlVariable* _tmp151_;
					TrackerSparqlVariable* _tmp152_;
					TrackerSparqlPatternTripleContext* _tmp153_;
					GHashTable* _tmp154_;
					TrackerSparqlVariableBinding* _tmp155_;
					TrackerSparqlVariable* _tmp156_;
					TrackerSparqlVariable* _tmp157_;
					TrackerSparqlVariableBindingList* _tmp158_;
					TrackerSparqlVariableBindingList* _tmp159_;
					TrackerSparqlVariableBinding* object_binding = NULL;
					TrackerSparqlPatternTripleContext* _tmp160_;
					GHashTable* _tmp161_;
					TrackerSparqlContext* _tmp162_;
					TrackerSparqlContext* _tmp163_;
					const gchar* _tmp164_;
					TrackerSparqlVariable* _tmp165_;
					gconstpointer _tmp166_;
					GList* _tmp167_;
					gconstpointer _tmp168_;
					TrackerSparqlVariableBinding* _tmp169_;
					const gchar* _tmp170_;
					TrackerProperty* _tmp171_;
					const gchar* _tmp172_;
					const gchar* _tmp173_;
					TrackerSparqlVariableBinding* _tmp174_;
					const gchar* _tmp175_;
					const gchar* _tmp176_;
					TrackerSparqlVariableBinding* _tmp177_;
					TrackerSparqlVariable* _tmp178_;
					const gchar* _tmp179_;
					const gchar* _tmp180_;
					TrackerSparqlContext* _tmp181_;
					TrackerSparqlContext* _tmp182_;
					GHashTable* _tmp183_;
					TrackerSparqlVariableBinding* _tmp184_;
					TrackerSparqlVariable* _tmp185_;
					TrackerSparqlVariable* _tmp186_;
					TrackerSparqlVariableBindingList* _tmp187_;
					TrackerSparqlVariableBinding* _tmp188_;
					TrackerSparqlVariableBinding* _tmp189_;
					TrackerSparqlVariableBinding* _tmp190_;
					TrackerSparqlVariable* _tmp191_;
					TrackerSparqlVariableBinding* _tmp192_;
					TrackerSparqlVariableBinding* _tmp193_;
					TrackerSparqlVariable* _tmp194_;
					TrackerSparqlVariableBinding* _tmp195_;
					TrackerSparqlVariableBinding* _tmp196_;
#line 1445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp136_ = tracker_sparql_variable_binding_new ();
#line 1445 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					binding = _tmp136_;
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp137_ = binding;
#line 1446 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					((TrackerSparqlDataBinding*) _tmp137_)->data_type = TRACKER_PROPERTY_TYPE_RESOURCE;
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp138_ = binding;
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp139_ = tracker_sparql_pattern_get_context (self);
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp140_ = _tmp139_;
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp141_ = self->priv->current_subject;
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp142_ = tracker_sparql_context_get_variable (_tmp140_, _tmp141_);
#line 1447 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp138_->variable = _tmp142_;
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp143_ = self->priv->triple_context;
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp144_ = _tmp143_->var_bindings;
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp145_ = binding;
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp146_ = _tmp145_->variable;
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp147_ = g_hash_table_lookup (_tmp144_, _tmp146_);
#line 1449 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_vala_assert (((TrackerSparqlVariableBindingList*) _tmp147_) == NULL, "triple_context.var_bindings.lookup (binding.variable) == null");
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp148_ = tracker_sparql_variable_binding_list_new ();
#line 1450 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					binding_list = _tmp148_;
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp149_ = self->priv->triple_context;
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp150_ = binding;
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp151_ = _tmp150_->variable;
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp152_ = _g_object_ref0 (_tmp151_);
#line 1451 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp149_->variables = g_list_append (_tmp149_->variables, _tmp152_);
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp153_ = self->priv->triple_context;
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp154_ = _tmp153_->var_bindings;
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp155_ = binding;
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp156_ = _tmp155_->variable;
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp157_ = _g_object_ref0 (_tmp156_);
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp158_ = binding_list;
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp159_ = _g_object_ref0 (_tmp158_);
#line 1452 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_hash_table_insert (_tmp154_, _tmp157_, _tmp159_);
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp160_ = self->priv->triple_context;
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp161_ = _tmp160_->var_bindings;
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp162_ = tracker_sparql_pattern_get_context (self);
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp163_ = _tmp162_;
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp164_ = object;
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp165_ = tracker_sparql_context_get_variable (_tmp163_, _tmp164_);
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp166_ = g_hash_table_lookup (_tmp161_, _tmp165_);
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp167_ = ((TrackerSparqlVariableBindingList*) _tmp166_)->list;
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp168_ = _tmp167_->data;
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp169_ = _g_object_ref0 ((TrackerSparqlVariableBinding*) _tmp168_);
#line 1455 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					object_binding = _tmp169_;
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp170_ = db_table;
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp171_ = prop;
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp172_ = tracker_property_get_name (_tmp171_);
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp173_ = _tmp172_;
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp174_ = object_binding;
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp175_ = tracker_sparql_data_binding_get_sql_expression ((TrackerSparqlDataBinding*) _tmp174_);
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp176_ = _tmp175_;
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp177_ = binding;
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp178_ = _tmp177_->variable;
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp179_ = tracker_sparql_variable_get_sql_expression (_tmp178_);
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp180_ = _tmp179_;
#line 1457 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_string_append_printf (sql, "(SELECT ID FROM \"%s\" WHERE \"%s\" = %s) AS %s, ", _tmp170_, _tmp173_, _tmp176_, _tmp180_);
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp181_ = tracker_sparql_pattern_get_context (self);
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp182_ = _tmp181_;
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp183_ = _tmp182_->var_set;
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp184_ = binding;
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp185_ = _tmp184_->variable;
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp186_ = _g_object_ref0 (_tmp185_);
#line 1463 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					g_hash_table_insert (_tmp183_, _tmp186_, (gpointer) ((gintptr) ((gint) TRACKER_SPARQL_VARIABLE_STATE_OPTIONAL)));
#line 1464 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp187_ = binding_list;
#line 1464 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp188_ = binding;
#line 1464 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp189_ = _g_object_ref0 (_tmp188_);
#line 1464 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp187_->list = g_list_append (_tmp187_->list, _tmp189_);
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp190_ = binding;
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp191_ = _tmp190_->variable;
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp192_ = _tmp191_->binding;
#line 1466 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_vala_assert (_tmp192_ == NULL, "binding.variable.binding == null");
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp193_ = binding;
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp194_ = _tmp193_->variable;
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp195_ = binding;
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp196_ = _g_object_ref0 (_tmp195_);
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (_tmp194_->binding);
#line 1467 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp194_->binding = _tmp196_;
#line 1469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (object_binding);
#line 1469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (binding_list);
#line 1469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (binding);
#line 1469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (ontologies);
#line 1469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (subject_type);
#line 1469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (prop);
#line 1469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_object_unref0 (table);
#line 1469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (db_table);
#line 1469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (object);
#line 1469 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					return;
#line 14035 "tracker-sparql-pattern.c"
				}
			}
		}
#line 1472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp197_ = self->priv->current_subject;
#line 1472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp198_ = db_table;
#line 1472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp199_ = share_table;
#line 1472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp201_ = tracker_sparql_pattern_get_table (self, _tmp197_, _tmp198_, _tmp199_, &_tmp200_);
#line 1472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		newtable = _tmp200_;
#line 1472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (table);
#line 1472 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		table = _tmp201_;
#line 14053 "tracker-sparql-pattern.c"
	} else {
		TrackerSparqlDataTable* _tmp202_;
		TrackerSparqlDataTable* _tmp203_;
		TrackerSparqlContext* _tmp204_;
		TrackerSparqlContext* _tmp205_;
		GHashTable* _tmp206_;
		TrackerSparqlContext* _tmp207_;
		TrackerSparqlContext* _tmp208_;
		const gchar* _tmp209_;
		TrackerSparqlVariable* _tmp210_;
		gconstpointer _tmp211_;
		TrackerSparqlPredicateVariable* _tmp212_;
		TrackerSparqlDataTable* _tmp213_;
		TrackerSparqlPredicateVariable* _tmp214_;
		gboolean _tmp229_;
		gboolean _tmp234_;
		const gchar* _tmp239_;
		TrackerSparqlDataTable* _tmp242_;
		const gchar* _tmp243_;
		gint _tmp244_;
		gint _tmp245_;
		gchar* _tmp246_;
		gchar* _tmp247_;
		gchar* _tmp248_;
		TrackerSparqlPatternTripleContext* _tmp249_;
		TrackerSparqlDataTable* _tmp250_;
		TrackerSparqlDataTable* _tmp251_;
		TrackerSparqlVariableBinding* binding = NULL;
		TrackerSparqlVariableBinding* _tmp252_;
		TrackerSparqlVariableBinding* _tmp253_;
		TrackerSparqlVariableBinding* _tmp254_;
		TrackerSparqlContext* _tmp255_;
		TrackerSparqlContext* _tmp256_;
		const gchar* _tmp257_;
		TrackerSparqlVariable* _tmp258_;
		TrackerSparqlVariableBinding* _tmp259_;
		TrackerSparqlDataTable* _tmp260_;
		TrackerSparqlDataTable* _tmp261_;
		TrackerSparqlVariableBinding* _tmp262_;
		gchar* _tmp263_;
		TrackerSparqlVariableBinding* _tmp264_;
#line 1475 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		newtable = TRUE;
#line 1476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp202_ = tracker_sparql_data_table_new ();
#line 1476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (table);
#line 1476 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		table = _tmp202_;
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp203_ = table;
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp204_ = tracker_sparql_pattern_get_context (self);
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp205_ = _tmp204_;
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp206_ = _tmp205_->predicate_variable_map;
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp207_ = tracker_sparql_pattern_get_context (self);
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp208_ = _tmp207_;
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp209_ = self->priv->current_predicate;
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp210_ = tracker_sparql_context_get_variable (_tmp208_, _tmp209_);
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp211_ = g_hash_table_lookup (_tmp206_, _tmp210_);
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp212_ = _g_object_ref0 ((TrackerSparqlPredicateVariable*) _tmp211_);
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (_tmp203_->predicate_variable);
#line 1477 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp203_->predicate_variable = _tmp212_;
#line 1478 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp213_ = table;
#line 1478 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp214_ = _tmp213_->predicate_variable;
#line 1478 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp214_ == NULL) {
#line 14133 "tracker-sparql-pattern.c"
			TrackerSparqlDataTable* _tmp215_;
			TrackerDataManager* _tmp216_;
			TrackerSparqlPredicateVariable* _tmp217_;
			TrackerSparqlContext* _tmp218_;
			TrackerSparqlContext* _tmp219_;
			GHashTable* _tmp220_;
			TrackerSparqlContext* _tmp221_;
			TrackerSparqlContext* _tmp222_;
			const gchar* _tmp223_;
			TrackerSparqlVariable* _tmp224_;
			TrackerSparqlVariable* _tmp225_;
			TrackerSparqlDataTable* _tmp226_;
			TrackerSparqlPredicateVariable* _tmp227_;
			TrackerSparqlPredicateVariable* _tmp228_;
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp215_ = table;
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp216_ = self->priv->manager;
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp217_ = tracker_sparql_predicate_variable_new (_tmp216_);
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (_tmp215_->predicate_variable);
#line 1479 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp215_->predicate_variable = _tmp217_;
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp218_ = tracker_sparql_pattern_get_context (self);
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp219_ = _tmp218_;
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp220_ = _tmp219_->predicate_variable_map;
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp221_ = tracker_sparql_pattern_get_context (self);
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp222_ = _tmp221_;
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp223_ = self->priv->current_predicate;
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp224_ = tracker_sparql_context_get_variable (_tmp222_, _tmp223_);
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp225_ = _g_object_ref0 (_tmp224_);
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp226_ = table;
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp227_ = _tmp226_->predicate_variable;
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp228_ = _g_object_ref0 (_tmp227_);
#line 1480 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			g_hash_table_insert (_tmp220_, _tmp225_, _tmp228_);
#line 14182 "tracker-sparql-pattern.c"
		}
#line 1482 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp229_ = self->priv->current_subject_is_var;
#line 1482 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (!_tmp229_) {
#line 14188 "tracker-sparql-pattern.c"
			TrackerSparqlDataTable* _tmp230_;
			TrackerSparqlPredicateVariable* _tmp231_;
			const gchar* _tmp232_;
			gchar* _tmp233_;
#line 1484 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp230_ = table;
#line 1484 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp231_ = _tmp230_->predicate_variable;
#line 1484 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp232_ = self->priv->current_subject;
#line 1484 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp233_ = g_strdup (_tmp232_);
#line 1484 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (_tmp231_->subject);
#line 1484 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp231_->subject = _tmp233_;
#line 14205 "tracker-sparql-pattern.c"
		}
#line 1486 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp234_ = object_is_var;
#line 1486 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (!_tmp234_) {
#line 14211 "tracker-sparql-pattern.c"
			TrackerSparqlDataTable* _tmp235_;
			TrackerSparqlPredicateVariable* _tmp236_;
			const gchar* _tmp237_;
			gchar* _tmp238_;
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp235_ = table;
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp236_ = _tmp235_->predicate_variable;
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp237_ = object;
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp238_ = g_strdup (_tmp237_);
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (_tmp236_->object);
#line 1488 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp236_->object = _tmp238_;
#line 14228 "tracker-sparql-pattern.c"
		}
#line 1490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp239_ = self->current_graph;
#line 1490 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp239_ != NULL) {
#line 14234 "tracker-sparql-pattern.c"
			TrackerSparqlDataTable* _tmp240_;
			TrackerSparqlPredicateVariable* _tmp241_;
#line 1491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp240_ = table;
#line 1491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp241_ = _tmp240_->predicate_variable;
#line 1491 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp241_->return_graph = TRUE;
#line 14243 "tracker-sparql-pattern.c"
		}
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp242_ = table;
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp243_ = self->priv->current_predicate;
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp244_ = self->priv->counter;
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		self->priv->counter = _tmp244_ + 1;
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp245_ = self->priv->counter;
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp246_ = g_strdup_printf ("%i", _tmp245_);
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp247_ = _tmp246_;
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp248_ = g_strconcat (_tmp243_, _tmp247_, NULL);
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp242_->sql_query_tablename);
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp242_->sql_query_tablename = _tmp248_;
#line 1493 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp247_);
#line 1494 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp249_ = self->priv->triple_context;
#line 1494 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp250_ = table;
#line 1494 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp251_ = _g_object_ref0 (_tmp250_);
#line 1494 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp249_->tables = g_list_append (_tmp249_->tables, _tmp251_);
#line 1497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp252_ = tracker_sparql_variable_binding_new ();
#line 1497 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		binding = _tmp252_;
#line 1498 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp253_ = binding;
#line 1498 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		((TrackerSparqlDataBinding*) _tmp253_)->data_type = TRACKER_PROPERTY_TYPE_RESOURCE;
#line 1499 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp254_ = binding;
#line 1499 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp255_ = tracker_sparql_pattern_get_context (self);
#line 1499 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp256_ = _tmp255_;
#line 1499 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp257_ = self->priv->current_predicate;
#line 1499 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp258_ = tracker_sparql_context_get_variable (_tmp256_, _tmp257_);
#line 1499 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp254_->variable = _tmp258_;
#line 1500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp259_ = binding;
#line 1500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp260_ = table;
#line 1500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp261_ = _g_object_ref0 (_tmp260_);
#line 1500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (((TrackerSparqlDataBinding*) _tmp259_)->table);
#line 1500 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		((TrackerSparqlDataBinding*) _tmp259_)->table = _tmp261_;
#line 1501 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp262_ = binding;
#line 1501 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp263_ = g_strdup ("predicate");
#line 1501 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (((TrackerSparqlDataBinding*) _tmp262_)->sql_db_column_name);
#line 1501 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		((TrackerSparqlDataBinding*) _tmp262_)->sql_db_column_name = _tmp263_;
#line 1503 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp264_ = binding;
#line 1503 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		tracker_sparql_pattern_add_variable_binding (self, sql, _tmp264_, TRACKER_SPARQL_VARIABLE_STATE_BOUND);
#line 1369 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (binding);
#line 14319 "tracker-sparql-pattern.c"
	}
#line 1506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp265_ = newtable;
#line 1506 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp265_) {
#line 14325 "tracker-sparql-pattern.c"
		gboolean _tmp266_;
#line 1507 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp266_ = self->priv->current_subject_is_var;
#line 1507 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp266_) {
#line 14331 "tracker-sparql-pattern.c"
			TrackerSparqlVariableBinding* binding = NULL;
			TrackerSparqlVariableBinding* _tmp267_;
			TrackerSparqlVariableBinding* _tmp268_;
			TrackerSparqlVariableBinding* _tmp269_;
			TrackerSparqlContext* _tmp270_;
			TrackerSparqlContext* _tmp271_;
			const gchar* _tmp272_;
			TrackerSparqlVariable* _tmp273_;
			TrackerSparqlVariableBinding* _tmp274_;
			TrackerSparqlDataTable* _tmp275_;
			TrackerSparqlDataTable* _tmp276_;
			TrackerSparqlVariableBinding* _tmp277_;
			TrackerClass* _tmp278_;
			TrackerClass* _tmp279_;
			gboolean _tmp280_;
			TrackerSparqlVariableBinding* _tmp285_;
#line 1508 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp267_ = tracker_sparql_variable_binding_new ();
#line 1508 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			binding = _tmp267_;
#line 1509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp268_ = binding;
#line 1509 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			((TrackerSparqlDataBinding*) _tmp268_)->data_type = TRACKER_PROPERTY_TYPE_RESOURCE;
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp269_ = binding;
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp270_ = tracker_sparql_pattern_get_context (self);
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp271_ = _tmp270_;
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp272_ = self->priv->current_subject;
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp273_ = tracker_sparql_context_get_variable (_tmp271_, _tmp272_);
#line 1510 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp269_->variable = _tmp273_;
#line 1511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp274_ = binding;
#line 1511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp275_ = table;
#line 1511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp276_ = _g_object_ref0 (_tmp275_);
#line 1511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (((TrackerSparqlDataBinding*) _tmp274_)->table);
#line 1511 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			((TrackerSparqlDataBinding*) _tmp274_)->table = _tmp276_;
#line 1512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp277_ = binding;
#line 1512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp278_ = subject_type;
#line 1512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp279_ = _g_object_ref0 (_tmp278_);
#line 1512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (_tmp277_->type);
#line 1512 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp277_->type = _tmp279_;
#line 1513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp280_ = is_fts_match;
#line 1513 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp280_) {
#line 14392 "tracker-sparql-pattern.c"
				TrackerSparqlVariableBinding* _tmp281_;
				gchar* _tmp282_;
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp281_ = binding;
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp282_ = g_strdup ("rowid");
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (((TrackerSparqlDataBinding*) _tmp281_)->sql_db_column_name);
#line 1514 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				((TrackerSparqlDataBinding*) _tmp281_)->sql_db_column_name = _tmp282_;
#line 14403 "tracker-sparql-pattern.c"
			} else {
				TrackerSparqlVariableBinding* _tmp283_;
				gchar* _tmp284_;
#line 1516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp283_ = binding;
#line 1516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp284_ = g_strdup ("ID");
#line 1516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (((TrackerSparqlDataBinding*) _tmp283_)->sql_db_column_name);
#line 1516 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				((TrackerSparqlDataBinding*) _tmp283_)->sql_db_column_name = _tmp284_;
#line 14415 "tracker-sparql-pattern.c"
			}
#line 1519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp285_ = binding;
#line 1519 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			tracker_sparql_pattern_add_variable_binding (self, sql, _tmp285_, TRACKER_SPARQL_VARIABLE_STATE_BOUND);
#line 1507 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (binding);
#line 14423 "tracker-sparql-pattern.c"
		} else {
			TrackerSparqlLiteralBinding* binding = NULL;
			TrackerSparqlLiteralBinding* _tmp286_;
			TrackerSparqlLiteralBinding* _tmp287_;
			TrackerSparqlLiteralBinding* _tmp288_;
			const gchar* _tmp289_;
			gchar* _tmp290_;
			TrackerSparqlLiteralBinding* _tmp291_;
			TrackerSparqlDataTable* _tmp292_;
			TrackerSparqlDataTable* _tmp293_;
			TrackerSparqlLiteralBinding* _tmp294_;
			gchar* _tmp295_;
			TrackerSparqlPatternTripleContext* _tmp296_;
			TrackerSparqlLiteralBinding* _tmp297_;
			TrackerSparqlLiteralBinding* _tmp298_;
#line 1521 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp286_ = tracker_sparql_literal_binding_new ();
#line 1521 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			binding = _tmp286_;
#line 1522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp287_ = binding;
#line 1522 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			((TrackerSparqlDataBinding*) _tmp287_)->data_type = TRACKER_PROPERTY_TYPE_RESOURCE;
#line 1523 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp288_ = binding;
#line 1523 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp289_ = self->priv->current_subject;
#line 1523 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp290_ = g_strdup (_tmp289_);
#line 1523 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (_tmp288_->literal);
#line 1523 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp288_->literal = _tmp290_;
#line 1525 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp291_ = binding;
#line 1525 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp292_ = table;
#line 1525 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp293_ = _g_object_ref0 (_tmp292_);
#line 1525 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (((TrackerSparqlDataBinding*) _tmp291_)->table);
#line 1525 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			((TrackerSparqlDataBinding*) _tmp291_)->table = _tmp293_;
#line 1526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp294_ = binding;
#line 1526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp295_ = g_strdup ("ID");
#line 1526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_free0 (((TrackerSparqlDataBinding*) _tmp294_)->sql_db_column_name);
#line 1526 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			((TrackerSparqlDataBinding*) _tmp294_)->sql_db_column_name = _tmp295_;
#line 1527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp296_ = self->priv->triple_context;
#line 1527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp297_ = binding;
#line 1527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp298_ = _g_object_ref0 (_tmp297_);
#line 1527 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp296_->bindings = g_list_append (_tmp296_->bindings, _tmp298_);
#line 1507 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (binding);
#line 14485 "tracker-sparql-pattern.c"
		}
	}
#line 1531 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp299_ = rdftype;
#line 1531 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (!_tmp299_) {
#line 14492 "tracker-sparql-pattern.c"
		gboolean _tmp300_;
		const gchar* _tmp384_;
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp300_ = object_is_var;
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp300_) {
#line 14499 "tracker-sparql-pattern.c"
			TrackerSparqlVariableBinding* binding = NULL;
			TrackerSparqlVariableBinding* _tmp301_;
			TrackerSparqlVariableBinding* _tmp302_;
			TrackerSparqlContext* _tmp303_;
			TrackerSparqlContext* _tmp304_;
			const gchar* _tmp305_;
			TrackerSparqlVariable* _tmp306_;
			TrackerSparqlVariableBinding* _tmp307_;
			TrackerSparqlDataTable* _tmp308_;
			TrackerSparqlDataTable* _tmp309_;
			TrackerProperty* _tmp310_;
			TrackerSparqlVariableState state = 0;
			TrackerSparqlVariableBinding* _tmp334_;
			TrackerSparqlVariableState _tmp335_;
#line 1533 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp301_ = tracker_sparql_variable_binding_new ();
#line 1533 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			binding = _tmp301_;
#line 1534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp302_ = binding;
#line 1534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp303_ = tracker_sparql_pattern_get_context (self);
#line 1534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp304_ = _tmp303_;
#line 1534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp305_ = object;
#line 1534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp306_ = tracker_sparql_context_get_variable (_tmp304_, _tmp305_);
#line 1534 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp302_->variable = _tmp306_;
#line 1535 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp307_ = binding;
#line 1535 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp308_ = table;
#line 1535 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp309_ = _g_object_ref0 (_tmp308_);
#line 1535 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (((TrackerSparqlDataBinding*) _tmp307_)->table);
#line 1535 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			((TrackerSparqlDataBinding*) _tmp307_)->table = _tmp309_;
#line 1536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp310_ = prop;
#line 1536 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp310_ != NULL) {
#line 14544 "tracker-sparql-pattern.c"
				TrackerSparqlVariableBinding* _tmp311_;
				TrackerProperty* _tmp312_;
				TrackerClass* _tmp313_;
				TrackerClass* _tmp314_;
				TrackerClass* _tmp315_;
				TrackerSparqlVariableBinding* _tmp316_;
				TrackerProperty* _tmp317_;
				TrackerPropertyType _tmp318_;
				TrackerPropertyType _tmp319_;
				TrackerSparqlVariableBinding* _tmp320_;
				TrackerProperty* _tmp321_;
				const gchar* _tmp322_;
				const gchar* _tmp323_;
				gchar* _tmp324_;
				TrackerProperty* _tmp325_;
				gboolean _tmp326_;
				gboolean _tmp327_;
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp311_ = binding;
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp312_ = prop;
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp313_ = tracker_property_get_range (_tmp312_);
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp314_ = _tmp313_;
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp315_ = _g_object_ref0 (_tmp314_);
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (_tmp311_->type);
#line 1538 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp311_->type = _tmp315_;
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp316_ = binding;
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp317_ = prop;
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp318_ = tracker_property_get_data_type (_tmp317_);
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp319_ = _tmp318_;
#line 1540 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				((TrackerSparqlDataBinding*) _tmp316_)->data_type = _tmp319_;
#line 1541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp320_ = binding;
#line 1541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp321_ = prop;
#line 1541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp322_ = tracker_property_get_name (_tmp321_);
#line 1541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp323_ = _tmp322_;
#line 1541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp324_ = g_strdup (_tmp323_);
#line 1541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (((TrackerSparqlDataBinding*) _tmp320_)->sql_db_column_name);
#line 1541 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				((TrackerSparqlDataBinding*) _tmp320_)->sql_db_column_name = _tmp324_;
#line 1542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp325_ = prop;
#line 1542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp326_ = tracker_property_get_multiple_values (_tmp325_);
#line 1542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp327_ = _tmp326_;
#line 1542 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (!_tmp327_) {
#line 14608 "tracker-sparql-pattern.c"
					TrackerSparqlVariableBinding* _tmp328_;
					TrackerSparqlVariableBinding* _tmp329_;
#line 1545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp328_ = binding;
#line 1545 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp328_->maybe_null = TRUE;
#line 1546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp329_ = binding;
#line 1546 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp329_->in_simple_optional = in_simple_optional;
#line 14619 "tracker-sparql-pattern.c"
				}
			} else {
				TrackerSparqlVariableBinding* _tmp330_;
				TrackerSparqlVariableBinding* _tmp331_;
				gchar* _tmp332_;
				TrackerSparqlVariableBinding* _tmp333_;
#line 1550 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp330_ = binding;
#line 1550 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				((TrackerSparqlDataBinding*) _tmp330_)->data_type = TRACKER_PROPERTY_TYPE_STRING;
#line 1551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp331_ = binding;
#line 1551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp332_ = g_strdup ("object");
#line 1551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (((TrackerSparqlDataBinding*) _tmp331_)->sql_db_column_name);
#line 1551 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				((TrackerSparqlDataBinding*) _tmp331_)->sql_db_column_name = _tmp332_;
#line 1552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp333_ = binding;
#line 1552 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp333_->maybe_null = TRUE;
#line 14642 "tracker-sparql-pattern.c"
			}
#line 1556 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (in_simple_optional) {
#line 1557 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				state = TRACKER_SPARQL_VARIABLE_STATE_OPTIONAL;
#line 14648 "tracker-sparql-pattern.c"
			} else {
#line 1559 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				state = TRACKER_SPARQL_VARIABLE_STATE_BOUND;
#line 14652 "tracker-sparql-pattern.c"
			}
#line 1562 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp334_ = binding;
#line 1562 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp335_ = state;
#line 1562 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			tracker_sparql_pattern_add_variable_binding (self, sql, _tmp334_, _tmp335_);
#line 1532 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_g_object_unref0 (binding);
#line 14662 "tracker-sparql-pattern.c"
		} else {
			gboolean _tmp336_;
#line 1563 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp336_ = is_fts_match;
#line 1563 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp336_) {
#line 14669 "tracker-sparql-pattern.c"
				TrackerSparqlLiteralBinding* binding = NULL;
				TrackerSparqlLiteralBinding* _tmp337_;
				TrackerSparqlLiteralBinding* _tmp338_;
				TrackerSparqlLiteralBinding* _tmp339_;
				const gchar* _tmp340_;
				gchar* _tmp341_;
				TrackerSparqlLiteralBinding* _tmp342_;
				TrackerSparqlDataTable* _tmp343_;
				TrackerSparqlDataTable* _tmp344_;
				TrackerSparqlLiteralBinding* _tmp345_;
				gchar* _tmp346_;
				TrackerSparqlPatternTripleContext* _tmp347_;
				TrackerSparqlLiteralBinding* _tmp348_;
				TrackerSparqlLiteralBinding* _tmp349_;
				TrackerSparqlLiteralBinding* _tmp350_;
				TrackerSparqlDataTable* _tmp351_;
				const gchar* _tmp352_;
				TrackerSparqlLiteralBinding* _tmp353_;
				TrackerSparqlDataTable* _tmp354_;
				const gchar* _tmp355_;
				TrackerSparqlContext* _tmp356_;
				TrackerSparqlContext* _tmp357_;
				const gchar* _tmp358_;
				TrackerSparqlVariable* _tmp359_;
				const gchar* _tmp360_;
				const gchar* _tmp361_;
#line 1564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp337_ = tracker_sparql_literal_binding_new ();
#line 1564 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				binding = _tmp337_;
#line 1565 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp338_ = binding;
#line 1565 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp338_->is_fts_match = TRUE;
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp339_ = binding;
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp340_ = object;
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp341_ = g_strdup (_tmp340_);
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp339_->literal);
#line 1566 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp339_->literal = _tmp341_;
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp342_ = binding;
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp343_ = table;
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp344_ = _g_object_ref0 (_tmp343_);
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (((TrackerSparqlDataBinding*) _tmp342_)->table);
#line 1568 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				((TrackerSparqlDataBinding*) _tmp342_)->table = _tmp344_;
#line 1569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp345_ = binding;
#line 1569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp346_ = g_strdup ("fts5");
#line 1569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (((TrackerSparqlDataBinding*) _tmp345_)->sql_db_column_name);
#line 1569 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				((TrackerSparqlDataBinding*) _tmp345_)->sql_db_column_name = _tmp346_;
#line 1570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp347_ = self->priv->triple_context;
#line 1570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp348_ = binding;
#line 1570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp349_ = _g_object_ref0 (_tmp348_);
#line 1570 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp347_->bindings = g_list_append (_tmp347_->bindings, _tmp349_);
#line 1572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp350_ = binding;
#line 1572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp351_ = ((TrackerSparqlDataBinding*) _tmp350_)->table;
#line 1572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp352_ = _tmp351_->sql_query_tablename;
#line 1572 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_string_append_printf (sql, "\"%s\".\"rowid\" AS \"ID\", ", _tmp352_);
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp353_ = binding;
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp354_ = ((TrackerSparqlDataBinding*) _tmp353_)->table;
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp355_ = _tmp354_->sql_query_tablename;
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp356_ = tracker_sparql_pattern_get_context (self);
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp357_ = _tmp356_;
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp358_ = self->priv->current_subject;
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp359_ = tracker_sparql_context_get_variable (_tmp357_, _tmp358_);
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp360_ = tracker_sparql_variable_get_name (_tmp359_);
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp361_ = _tmp360_;
#line 1574 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				g_string_append_printf (sql, "\"%s\".\"rank\" AS \"%s_u_rank\", ", _tmp355_, _tmp361_);
#line 1563 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (binding);
#line 14770 "tracker-sparql-pattern.c"
			} else {
				TrackerSparqlLiteralBinding* binding = NULL;
				TrackerSparqlLiteralBinding* _tmp362_;
				TrackerSparqlLiteralBinding* _tmp363_;
				const gchar* _tmp364_;
				gchar* _tmp365_;
				TrackerSparqlLiteralBinding* _tmp366_;
				TrackerSparqlDataTable* _tmp367_;
				TrackerSparqlDataTable* _tmp368_;
				TrackerProperty* _tmp369_;
				TrackerSparqlPatternTripleContext* _tmp381_;
				TrackerSparqlLiteralBinding* _tmp382_;
				TrackerSparqlLiteralBinding* _tmp383_;
#line 1578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp362_ = tracker_sparql_literal_binding_new ();
#line 1578 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				binding = _tmp362_;
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp363_ = binding;
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp364_ = object;
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp365_ = g_strdup (_tmp364_);
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp363_->literal);
#line 1579 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp363_->literal = _tmp365_;
#line 1581 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp366_ = binding;
#line 1581 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp367_ = table;
#line 1581 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp368_ = _g_object_ref0 (_tmp367_);
#line 1581 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (((TrackerSparqlDataBinding*) _tmp366_)->table);
#line 1581 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				((TrackerSparqlDataBinding*) _tmp366_)->table = _tmp368_;
#line 1582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp369_ = prop;
#line 1582 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp369_ != NULL) {
#line 14812 "tracker-sparql-pattern.c"
					TrackerSparqlLiteralBinding* _tmp370_;
					TrackerProperty* _tmp371_;
					TrackerPropertyType _tmp372_;
					TrackerPropertyType _tmp373_;
					TrackerSparqlLiteralBinding* _tmp374_;
					TrackerProperty* _tmp375_;
					const gchar* _tmp376_;
					const gchar* _tmp377_;
					gchar* _tmp378_;
#line 1583 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp370_ = binding;
#line 1583 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp371_ = prop;
#line 1583 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp372_ = tracker_property_get_data_type (_tmp371_);
#line 1583 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp373_ = _tmp372_;
#line 1583 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					((TrackerSparqlDataBinding*) _tmp370_)->data_type = _tmp373_;
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp374_ = binding;
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp375_ = prop;
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp376_ = tracker_property_get_name (_tmp375_);
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp377_ = _tmp376_;
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp378_ = g_strdup (_tmp377_);
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (((TrackerSparqlDataBinding*) _tmp374_)->sql_db_column_name);
#line 1584 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					((TrackerSparqlDataBinding*) _tmp374_)->sql_db_column_name = _tmp378_;
#line 14846 "tracker-sparql-pattern.c"
				} else {
					TrackerSparqlLiteralBinding* _tmp379_;
					gchar* _tmp380_;
#line 1587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp379_ = binding;
#line 1587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp380_ = g_strdup ("object");
#line 1587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (((TrackerSparqlDataBinding*) _tmp379_)->sql_db_column_name);
#line 1587 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					((TrackerSparqlDataBinding*) _tmp379_)->sql_db_column_name = _tmp380_;
#line 14858 "tracker-sparql-pattern.c"
				}
#line 1589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp381_ = self->priv->triple_context;
#line 1589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp382_ = binding;
#line 1589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp383_ = _g_object_ref0 (_tmp382_);
#line 1589 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp381_->bindings = g_list_append (_tmp381_->bindings, _tmp383_);
#line 1563 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (binding);
#line 14870 "tracker-sparql-pattern.c"
			}
		}
#line 1592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp384_ = self->current_graph;
#line 1592 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		if (_tmp384_ != NULL) {
#line 14877 "tracker-sparql-pattern.c"
			gboolean _tmp385_;
#line 1593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			_tmp385_ = self->priv->current_graph_is_var;
#line 1593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
			if (_tmp385_) {
#line 14883 "tracker-sparql-pattern.c"
				TrackerSparqlVariableBinding* binding = NULL;
				TrackerSparqlVariableBinding* _tmp386_;
				TrackerSparqlVariableBinding* _tmp387_;
				TrackerSparqlContext* _tmp388_;
				TrackerSparqlContext* _tmp389_;
				const gchar* _tmp390_;
				TrackerSparqlVariable* _tmp391_;
				TrackerSparqlVariableBinding* _tmp392_;
				TrackerSparqlDataTable* _tmp393_;
				TrackerSparqlDataTable* _tmp394_;
				TrackerSparqlVariableBinding* _tmp395_;
				TrackerProperty* _tmp396_;
				TrackerSparqlVariableBinding* _tmp404_;
				TrackerSparqlVariableBinding* _tmp405_;
				TrackerSparqlVariableState state = 0;
				TrackerSparqlVariableBinding* _tmp406_;
				TrackerSparqlVariableState _tmp407_;
#line 1594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp386_ = tracker_sparql_variable_binding_new ();
#line 1594 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				binding = _tmp386_;
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp387_ = binding;
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp388_ = tracker_sparql_pattern_get_context (self);
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp389_ = _tmp388_;
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp390_ = self->current_graph;
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp391_ = tracker_sparql_context_get_variable (_tmp389_, _tmp390_);
#line 1595 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp387_->variable = _tmp391_;
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp392_ = binding;
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp393_ = table;
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp394_ = _g_object_ref0 (_tmp393_);
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (((TrackerSparqlDataBinding*) _tmp392_)->table);
#line 1596 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				((TrackerSparqlDataBinding*) _tmp392_)->table = _tmp394_;
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp395_ = binding;
#line 1597 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				((TrackerSparqlDataBinding*) _tmp395_)->data_type = TRACKER_PROPERTY_TYPE_RESOURCE;
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp396_ = prop;
#line 1599 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp396_ != NULL) {
#line 14935 "tracker-sparql-pattern.c"
					TrackerSparqlVariableBinding* _tmp397_;
					TrackerProperty* _tmp398_;
					const gchar* _tmp399_;
					const gchar* _tmp400_;
					gchar* _tmp401_;
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp397_ = binding;
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp398_ = prop;
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp399_ = tracker_property_get_name (_tmp398_);
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp400_ = _tmp399_;
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp401_ = g_strconcat (_tmp400_, ":graph", NULL);
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (((TrackerSparqlDataBinding*) _tmp397_)->sql_db_column_name);
#line 1600 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					((TrackerSparqlDataBinding*) _tmp397_)->sql_db_column_name = _tmp401_;
#line 14955 "tracker-sparql-pattern.c"
				} else {
					TrackerSparqlVariableBinding* _tmp402_;
					gchar* _tmp403_;
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp402_ = binding;
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp403_ = g_strdup ("graph");
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (((TrackerSparqlDataBinding*) _tmp402_)->sql_db_column_name);
#line 1603 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					((TrackerSparqlDataBinding*) _tmp402_)->sql_db_column_name = _tmp403_;
#line 14967 "tracker-sparql-pattern.c"
				}
#line 1606 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp404_ = binding;
#line 1606 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp404_->maybe_null = TRUE;
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp405_ = binding;
#line 1607 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp405_->in_simple_optional = in_simple_optional;
#line 1610 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (in_simple_optional) {
#line 1611 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					state = TRACKER_SPARQL_VARIABLE_STATE_OPTIONAL;
#line 14981 "tracker-sparql-pattern.c"
				} else {
#line 1613 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					state = TRACKER_SPARQL_VARIABLE_STATE_BOUND;
#line 14985 "tracker-sparql-pattern.c"
				}
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp406_ = binding;
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp407_ = state;
#line 1616 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				tracker_sparql_pattern_add_variable_binding (self, sql, _tmp406_, _tmp407_);
#line 1593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (binding);
#line 14995 "tracker-sparql-pattern.c"
			} else {
				TrackerSparqlLiteralBinding* binding = NULL;
				TrackerSparqlLiteralBinding* _tmp408_;
				TrackerSparqlLiteralBinding* _tmp409_;
				const gchar* _tmp410_;
				gchar* _tmp411_;
				TrackerSparqlLiteralBinding* _tmp412_;
				TrackerSparqlDataTable* _tmp413_;
				TrackerSparqlDataTable* _tmp414_;
				TrackerSparqlLiteralBinding* _tmp415_;
				TrackerProperty* _tmp416_;
				TrackerSparqlPatternTripleContext* _tmp424_;
				TrackerSparqlLiteralBinding* _tmp425_;
				TrackerSparqlLiteralBinding* _tmp426_;
#line 1618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp408_ = tracker_sparql_literal_binding_new ();
#line 1618 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				binding = _tmp408_;
#line 1619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp409_ = binding;
#line 1619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp410_ = self->current_graph;
#line 1619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp411_ = g_strdup (_tmp410_);
#line 1619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_free0 (_tmp409_->literal);
#line 1619 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp409_->literal = _tmp411_;
#line 1620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp412_ = binding;
#line 1620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp413_ = table;
#line 1620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp414_ = _g_object_ref0 (_tmp413_);
#line 1620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (((TrackerSparqlDataBinding*) _tmp412_)->table);
#line 1620 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				((TrackerSparqlDataBinding*) _tmp412_)->table = _tmp414_;
#line 1621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp415_ = binding;
#line 1621 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				((TrackerSparqlDataBinding*) _tmp415_)->data_type = TRACKER_PROPERTY_TYPE_RESOURCE;
#line 1623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp416_ = prop;
#line 1623 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				if (_tmp416_ != NULL) {
#line 15042 "tracker-sparql-pattern.c"
					TrackerSparqlLiteralBinding* _tmp417_;
					TrackerProperty* _tmp418_;
					const gchar* _tmp419_;
					const gchar* _tmp420_;
					gchar* _tmp421_;
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp417_ = binding;
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp418_ = prop;
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp419_ = tracker_property_get_name (_tmp418_);
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp420_ = _tmp419_;
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp421_ = g_strconcat (_tmp420_, ":graph", NULL);
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (((TrackerSparqlDataBinding*) _tmp417_)->sql_db_column_name);
#line 1624 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					((TrackerSparqlDataBinding*) _tmp417_)->sql_db_column_name = _tmp421_;
#line 15062 "tracker-sparql-pattern.c"
				} else {
					TrackerSparqlLiteralBinding* _tmp422_;
					gchar* _tmp423_;
#line 1627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp422_ = binding;
#line 1627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_tmp423_ = g_strdup ("graph");
#line 1627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					_g_free0 (((TrackerSparqlDataBinding*) _tmp422_)->sql_db_column_name);
#line 1627 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
					((TrackerSparqlDataBinding*) _tmp422_)->sql_db_column_name = _tmp423_;
#line 15074 "tracker-sparql-pattern.c"
				}
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp424_ = self->priv->triple_context;
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp425_ = binding;
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp426_ = _g_object_ref0 (_tmp425_);
#line 1630 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_tmp424_->bindings = g_list_append (_tmp424_->bindings, _tmp426_);
#line 1593 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
				_g_object_unref0 (binding);
#line 15086 "tracker-sparql-pattern.c"
			}
		}
	}
#line 1635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp427_ = sql->len;
#line 1635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp428_ = begin_sql_len;
#line 1635 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp427_ == ((gssize) _tmp428_)) {
#line 1638 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_string_append (sql, "1, ");
#line 15098 "tracker-sparql-pattern.c"
	}
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_object_unref0 (ontologies);
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_object_unref0 (subject_type);
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_object_unref0 (prop);
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_object_unref0 (table);
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_free0 (db_table);
#line 1350 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_free0 (object);
#line 15112 "tracker-sparql-pattern.c"
}


static TrackerSparqlDataTable*
tracker_sparql_pattern_get_table (TrackerSparqlPattern* self,
                                  const gchar* subject,
                                  const gchar* db_table,
                                  gboolean share_table,
                                  gboolean* newtable)
{
	gboolean _vala_newtable = FALSE;
	TrackerSparqlDataTable* result = NULL;
	gchar* tablestring = NULL;
	gchar* _tmp0_;
	TrackerSparqlDataTable* table = NULL;
	TrackerSparqlDataTable* _tmp6_;
#line 1642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 1642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (subject != NULL, NULL);
#line 1642 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (db_table != NULL, NULL);
#line 1643 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = g_strdup_printf ("%s.%s", subject, db_table);
#line 1643 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tablestring = _tmp0_;
#line 1644 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	table = NULL;
#line 1645 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_vala_newtable = FALSE;
#line 1646 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (share_table) {
#line 15145 "tracker-sparql-pattern.c"
		TrackerSparqlPatternTripleContext* _tmp1_;
		GHashTable* _tmp2_;
		const gchar* _tmp3_;
		gconstpointer _tmp4_;
		TrackerSparqlDataTable* _tmp5_;
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp1_ = self->priv->triple_context;
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp2_ = _tmp1_->table_map;
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp3_ = tablestring;
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp4_ = g_hash_table_lookup (_tmp2_, _tmp3_);
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp5_ = _g_object_ref0 ((TrackerSparqlDataTable*) _tmp4_);
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (table);
#line 1647 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		table = _tmp5_;
#line 15165 "tracker-sparql-pattern.c"
	}
#line 1649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp6_ = table;
#line 1649 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (_tmp6_ == NULL) {
#line 15171 "tracker-sparql-pattern.c"
		TrackerSparqlDataTable* _tmp7_;
		TrackerSparqlDataTable* _tmp8_;
		gchar* _tmp9_;
		TrackerSparqlDataTable* _tmp10_;
		gint _tmp11_;
		gint _tmp12_;
		gchar* _tmp13_;
		gchar* _tmp14_;
		gchar* _tmp15_;
		TrackerSparqlPatternTripleContext* _tmp16_;
		TrackerSparqlDataTable* _tmp17_;
		TrackerSparqlDataTable* _tmp18_;
		TrackerSparqlPatternTripleContext* _tmp19_;
		GHashTable* _tmp20_;
		const gchar* _tmp21_;
		gchar* _tmp22_;
		TrackerSparqlDataTable* _tmp23_;
		TrackerSparqlDataTable* _tmp24_;
#line 1650 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_vala_newtable = TRUE;
#line 1651 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp7_ = tracker_sparql_data_table_new ();
#line 1651 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_object_unref0 (table);
#line 1651 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		table = _tmp7_;
#line 1652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp8_ = table;
#line 1652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp9_ = g_strdup (db_table);
#line 1652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp8_->sql_db_tablename);
#line 1652 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp8_->sql_db_tablename = _tmp9_;
#line 1653 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp10_ = table;
#line 1653 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp11_ = self->priv->counter;
#line 1653 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		self->priv->counter = _tmp11_ + 1;
#line 1653 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp12_ = self->priv->counter;
#line 1653 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp13_ = g_strdup_printf ("%i", _tmp12_);
#line 1653 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp14_ = _tmp13_;
#line 1653 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp15_ = g_strconcat (db_table, _tmp14_, NULL);
#line 1653 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp10_->sql_query_tablename);
#line 1653 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp10_->sql_query_tablename = _tmp15_;
#line 1653 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_g_free0 (_tmp14_);
#line 1654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp16_ = self->priv->triple_context;
#line 1654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp17_ = table;
#line 1654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp18_ = _g_object_ref0 (_tmp17_);
#line 1654 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp16_->tables = g_list_append (_tmp16_->tables, _tmp18_);
#line 1655 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp19_ = self->priv->triple_context;
#line 1655 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp20_ = _tmp19_->table_map;
#line 1655 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp21_ = tablestring;
#line 1655 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp22_ = g_strdup (_tmp21_);
#line 1655 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp23_ = table;
#line 1655 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		_tmp24_ = _g_object_ref0 (_tmp23_);
#line 1655 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		g_hash_table_insert (_tmp20_, _tmp22_, _tmp24_);
#line 15248 "tracker-sparql-pattern.c"
	}
#line 1657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	result = table;
#line 1657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_free0 (tablestring);
#line 1657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	if (newtable) {
#line 1657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		*newtable = _vala_newtable;
#line 15258 "tracker-sparql-pattern.c"
	}
#line 1657 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return result;
#line 15262 "tracker-sparql-pattern.c"
}


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


static void
tracker_sparql_pattern_set_context (TrackerSparqlPattern* self,
                                    TrackerSparqlContext* value)
{
	TrackerSparqlQuery* _tmp0_;
	TrackerSparqlContext* _tmp1_;
#line 193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_if_fail (self != NULL);
#line 193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = self->priv->query;
#line 193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = _tracker_sparql_context_ref0 (value);
#line 193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tracker_sparql_context_unref0 (_tmp0_->context);
#line 193 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_->context = _tmp1_;
#line 15302 "tracker-sparql-pattern.c"
}


static TrackerSparqlPatternTripleContext*
tracker_sparql_pattern_triple_context_construct (GType object_type,
                                                 TrackerSparqlQuery* query,
                                                 TrackerSparqlContext* parent_context)
{
	TrackerSparqlPatternTripleContext* self = NULL;
	GHashFunc _tmp0_;
	GEqualFunc _tmp1_;
	GDestroyNotify _tmp2_;
	GDestroyNotify _tmp3_;
	GHashTable* _tmp4_;
	GDestroyNotify _tmp5_;
	GDestroyNotify _tmp6_;
	GHashTable* _tmp7_;
#line 242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (query != NULL, NULL);
#line 242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_return_val_if_fail (parent_context != NULL, NULL);
#line 243 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self = (TrackerSparqlPatternTripleContext*) tracker_sparql_context_construct (object_type, query, parent_context);
#line 245 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	__g_list_free__g_object_unref0_0 (self->tables);
#line 245 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->tables = NULL;
#line 246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp0_ = g_str_hash;
#line 246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp1_ = g_str_equal;
#line 246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp2_ = g_free;
#line 246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp3_ = g_object_unref;
#line 246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp4_ = g_hash_table_new_full (_tmp0_, _tmp1_, _tmp2_, _tmp3_);
#line 246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_hash_table_unref0 (self->table_map);
#line 246 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->table_map = _tmp4_;
#line 248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	__g_list_free__g_object_unref0_0 (self->variables);
#line 248 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->variables = NULL;
#line 249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp5_ = g_object_unref;
#line 249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp6_ = g_object_unref;
#line 249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tmp7_ = g_hash_table_new_full (_tracker_sparql_variable_hash_ghash_func, _tracker_sparql_variable_equal_gequal_func, _tmp5_, _tmp6_);
#line 249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_hash_table_unref0 (self->var_bindings);
#line 249 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->var_bindings = _tmp7_;
#line 251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	__g_list_free__g_object_unref0_0 (self->bindings);
#line 251 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->bindings = NULL;
#line 242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return self;
#line 15364 "tracker-sparql-pattern.c"
}


static TrackerSparqlPatternTripleContext*
tracker_sparql_pattern_triple_context_new (TrackerSparqlQuery* query,
                                           TrackerSparqlContext* parent_context)
{
#line 242 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	return tracker_sparql_pattern_triple_context_construct (TRACKER_SPARQL_PATTERN_TYPE_TRIPLE_CONTEXT, query, parent_context);
#line 15374 "tracker-sparql-pattern.c"
}


static void
tracker_sparql_pattern_triple_context_class_init (TrackerSparqlPatternTripleContextClass * klass)
{
#line 232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_triple_context_parent_class = g_type_class_peek_parent (klass);
#line 232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	((TrackerSparqlContextClass *) klass)->finalize = tracker_sparql_pattern_triple_context_finalize;
#line 15385 "tracker-sparql-pattern.c"
}


static void
tracker_sparql_pattern_triple_context_instance_init (TrackerSparqlPatternTripleContext * self)
{
}


static void
tracker_sparql_pattern_triple_context_finalize (TrackerSparqlContext * obj)
{
	TrackerSparqlPatternTripleContext * self;
#line 232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TRACKER_SPARQL_PATTERN_TYPE_TRIPLE_CONTEXT, TrackerSparqlPatternTripleContext);
#line 234 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	__g_list_free__g_object_unref0_0 (self->tables);
#line 235 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_hash_table_unref0 (self->table_map);
#line 237 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	__g_list_free__g_object_unref0_0 (self->bindings);
#line 239 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	__g_list_free__g_object_unref0_0 (self->variables);
#line 240 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_hash_table_unref0 (self->var_bindings);
#line 232 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	TRACKER_SPARQL_CONTEXT_CLASS (tracker_sparql_pattern_triple_context_parent_class)->finalize (obj);
#line 15413 "tracker-sparql-pattern.c"
}


static GType
tracker_sparql_pattern_triple_context_get_type (void)
{
	static volatile gsize tracker_sparql_pattern_triple_context_type_id__volatile = 0;
	if (g_once_init_enter (&tracker_sparql_pattern_triple_context_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (TrackerSparqlPatternTripleContextClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tracker_sparql_pattern_triple_context_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TrackerSparqlPatternTripleContext), 0, (GInstanceInitFunc) tracker_sparql_pattern_triple_context_instance_init, NULL };
		GType tracker_sparql_pattern_triple_context_type_id;
		tracker_sparql_pattern_triple_context_type_id = g_type_register_static (TRACKER_SPARQL_TYPE_CONTEXT, "TrackerSparqlPatternTripleContext", &g_define_type_info, 0);
		g_once_init_leave (&tracker_sparql_pattern_triple_context_type_id__volatile, tracker_sparql_pattern_triple_context_type_id);
	}
	return tracker_sparql_pattern_triple_context_type_id__volatile;
}


static void
tracker_sparql_pattern_class_init (TrackerSparqlPatternClass * klass)
{
#line 164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	tracker_sparql_pattern_parent_class = g_type_class_peek_parent (klass);
#line 164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	g_type_class_add_private (klass, sizeof (TrackerSparqlPatternPrivate));
#line 164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_tracker_sparql_pattern_get_property;
#line 164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_tracker_sparql_pattern_set_property;
#line 164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	G_OBJECT_CLASS (klass)->finalize = tracker_sparql_pattern_finalize;
#line 15444 "tracker-sparql-pattern.c"
}


static void
tracker_sparql_pattern_instance_init (TrackerSparqlPattern * self)
{
#line 164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->priv = TRACKER_SPARQL_PATTERN_GET_PRIVATE (self);
#line 181 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->queries_fts_data = FALSE;
#line 15455 "tracker-sparql-pattern.c"
}


static void
tracker_sparql_pattern_finalize (GObject * obj)
{
	TrackerSparqlPattern * self;
#line 164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TRACKER_SPARQL_TYPE_PATTERN, TrackerSparqlPattern);
#line 172 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_free0 (self->current_graph);
#line 174 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_free0 (self->priv->current_subject);
#line 176 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_free0 (self->priv->current_predicate);
#line 178 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_object_unref0 (self->fts_subject);
#line 179 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	self->fts_variables = (_vala_array_free (self->fts_variables, self->fts_variables_length1, (GDestroyNotify) g_free), NULL);
#line 180 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_string_free0 (self->match_str);
#line 183 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_g_object_unref0 (self->priv->manager);
#line 255 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	_tracker_sparql_context_unref0 (self->priv->triple_context);
#line 164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	G_OBJECT_CLASS (tracker_sparql_pattern_parent_class)->finalize (obj);
#line 15483 "tracker-sparql-pattern.c"
}


GType
tracker_sparql_pattern_get_type (void)
{
	static volatile gsize tracker_sparql_pattern_type_id__volatile = 0;
	if (g_once_init_enter (&tracker_sparql_pattern_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (TrackerSparqlPatternClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tracker_sparql_pattern_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TrackerSparqlPattern), 0, (GInstanceInitFunc) tracker_sparql_pattern_instance_init, NULL };
		GType tracker_sparql_pattern_type_id;
		tracker_sparql_pattern_type_id = g_type_register_static (G_TYPE_OBJECT, "TrackerSparqlPattern", &g_define_type_info, 0);
		g_once_init_leave (&tracker_sparql_pattern_type_id__volatile, tracker_sparql_pattern_type_id);
	}
	return tracker_sparql_pattern_type_id__volatile;
}


static void
_vala_tracker_sparql_pattern_get_property (GObject * object,
                                           guint property_id,
                                           GValue * value,
                                           GParamSpec * pspec)
{
	TrackerSparqlPattern * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TRACKER_SPARQL_TYPE_PATTERN, TrackerSparqlPattern);
#line 164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	switch (property_id) {
#line 15511 "tracker-sparql-pattern.c"
		default:
#line 164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		break;
#line 15517 "tracker-sparql-pattern.c"
	}
}


static void
_vala_tracker_sparql_pattern_set_property (GObject * object,
                                           guint property_id,
                                           const GValue * value,
                                           GParamSpec * pspec)
{
	TrackerSparqlPattern * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TRACKER_SPARQL_TYPE_PATTERN, TrackerSparqlPattern);
#line 164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
	switch (property_id) {
#line 15532 "tracker-sparql-pattern.c"
		default:
#line 164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 164 "/home/carlos/Source/gnome/tracker/src/libtracker-data/tracker-sparql-pattern.vala"
		break;
#line 15538 "tracker-sparql-pattern.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;
}



