void QGalleryTrackerResultSetPrivate::run() { iCache.values.clear(); GError *error = 0; if (TrackerSparqlCursor *cursor = tracker_sparql_connection_query( connection, sparql.toUtf8(), 0, &error)) { const QVariant variant; while (tracker_sparql_cursor_next(cursor, 0, 0)) { const int rowWidth = qMin(tableWidth, tracker_sparql_cursor_get_n_columns(cursor)); int i = 0; for (; i < rowWidth; ++i) { iCache.values.append(valueColumns.at(i)->toVariant(cursor, i)); } for (; i < tableWidth; ++i) iCache.values.append(variant); } g_object_unref(G_OBJECT(cursor)); } else { queryError = QDocumentGallery::FilterError; queryErrorString = QString::fromUtf8(error->message); g_error_free(error); } iCache.count = iCache.values.count() / tableWidth; synchronize(); }
QSparqlBinding QTrackerDirectSyncResult::binding(int i) const { // Note: this function reads and constructs the data again every time it's called. if (!cursor || pos() == QSparql::BeforeFirstRow || pos() == QSparql::AfterLastRow) return QSparqlBinding(); // get the no. of columns only once; it won't change between rows if (n_columns < 0) n_columns = tracker_sparql_cursor_get_n_columns(cursor); if (i < 0 || i >= n_columns) return QSparqlBinding(); const gchar* name = tracker_sparql_cursor_get_variable_name(cursor, i); const QVariant& value = readVariant(cursor, i); // A special case: we store TRACKER_SPARQL_VALUE_TYPE_INTEGER as longlong, // but its data type uri should be xsd:integer. Set it manually here. QSparqlBinding b; b.setName(QString::fromUtf8(name)); if (value.type() == QVariant::LongLong) { b.setValue(value.toString(), *XSD::Integer()); } else { b.setValue(value); } return b; }
QString QTrackerDirectSyncResult::stringValue(int i) const { if (!cursor || pos() == QSparql::BeforeFirstRow || pos() == QSparql::AfterLastRow) return QString(); // get the no. of columns only once; it won't change between rows if (n_columns < 0) n_columns = tracker_sparql_cursor_get_n_columns(cursor); if (i < 0 || i >= n_columns) return QString(); return QString::fromUtf8(tracker_sparql_cursor_get_string(cursor, i, 0)); }
QVariant QTrackerDirectSyncResult::value(int i) const { // Note: this function re-constructs the data every time it's called. if (!cursor || pos() == QSparql::BeforeFirstRow || pos() == QSparql::AfterLastRow) return QVariant(); // get the no. of columns only once; it won't change between rows if (n_columns < 0) n_columns = tracker_sparql_cursor_get_n_columns(cursor); if (i < 0 || i >= n_columns) return QVariant(); return readVariant(cursor, i); }
QSparqlResultRow QTrackerDirectSyncResult::current() const { // Note: this function reads and constructs the data again every time it's called. if (!cursor || pos() == QSparql::BeforeFirstRow || pos() == QSparql::AfterLastRow) return QSparqlResultRow(); QSparqlResultRow resultRow; // get the no. of columns only once; it won't change between rows if (n_columns < 0) n_columns = tracker_sparql_cursor_get_n_columns(cursor); for (int i = 0; i < n_columns; i++) { resultRow.append(binding(i)); } return resultRow; }
static void _vala_tracker_bus_fd_cursor_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { TrackerBusFDCursor * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, TRACKER_BUS_TYPE_FD_CURSOR, TrackerBusFDCursor); #line 20 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" switch (property_id) { #line 20 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" case TRACKER_BUS_FD_CURSOR_N_COLUMNS: #line 20 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" g_value_set_int (value, tracker_sparql_cursor_get_n_columns ((TrackerSparqlCursor*) self)); #line 20 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" break; #line 753 "tracker-bus-fd-cursor.c" default: #line 20 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); #line 20 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" break; #line 759 "tracker-bus-fd-cursor.c" } }
static gboolean tracker_bus_fd_cursor_real_next (TrackerSparqlCursor* base, GCancellable* cancellable, GError** error) { TrackerBusFDCursor * self; gboolean result = FALSE; gint last_offset = 0; gboolean _tmp0_ = FALSE; GCancellable* _tmp1_ = NULL; gulong _tmp5_ = 0UL; gulong _tmp6_ = 0UL; gint _tmp7_ = 0; gchar* _tmp8_ = NULL; gulong _tmp9_ = 0UL; gulong _tmp10_ = 0UL; gint _tmp11_ = 0; gint _tmp12_ = 0; gchar* _tmp13_ = NULL; gulong _tmp14_ = 0UL; gulong _tmp15_ = 0UL; gint _tmp16_ = 0; gint _tmp17_ = 0; gint _tmp18_ = 0; gchar* _tmp19_ = NULL; gulong _tmp20_ = 0UL; gulong _tmp21_ = 0UL; gint _tmp22_ = 0; GError * _inner_error_ = NULL; #line 86 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" self = (TrackerBusFDCursor*) base; #line 89 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp1_ = cancellable; #line 89 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" if (_tmp1_ != NULL) { #line 402 "tracker-bus-fd-cursor.c" GCancellable* _tmp2_ = NULL; gboolean _tmp3_ = FALSE; #line 89 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp2_ = cancellable; #line 89 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp3_ = g_cancellable_is_cancelled (_tmp2_); #line 89 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp0_ = _tmp3_; #line 411 "tracker-bus-fd-cursor.c" } else { #line 89 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp0_ = FALSE; #line 415 "tracker-bus-fd-cursor.c" } #line 89 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" if (_tmp0_) { #line 419 "tracker-bus-fd-cursor.c" GError* _tmp4_ = NULL; #line 90 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp4_ = g_error_new_literal (G_IO_ERROR, G_IO_ERROR_CANCELLED, "Operation was cancelled"); #line 90 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _inner_error_ = _tmp4_; #line 90 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" g_propagate_error (error, _inner_error_); #line 90 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" return FALSE; #line 429 "tracker-bus-fd-cursor.c" } #line 93 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp5_ = self->buffer_index; #line 93 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp6_ = self->buffer_size; #line 93 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" if (_tmp5_ >= _tmp6_) { #line 94 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" result = FALSE; #line 94 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" return result; #line 441 "tracker-bus-fd-cursor.c" } #line 104 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp7_ = tracker_bus_fd_cursor_buffer_read_int (self); #line 104 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" self->_n_columns = _tmp7_; #line 108 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp8_ = self->buffer; #line 108 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp9_ = self->buffer_index; #line 108 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" self->types = (gint*) (_tmp8_ + _tmp9_); #line 109 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp10_ = self->buffer_index; #line 109 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp11_ = tracker_sparql_cursor_get_n_columns ((TrackerSparqlCursor*) self); #line 109 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp12_ = _tmp11_; #line 109 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" self->buffer_index = _tmp10_ + (sizeof (gint) * _tmp12_); #line 111 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp13_ = self->buffer; #line 111 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp14_ = self->buffer_index; #line 111 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" self->offsets = (gint*) (_tmp13_ + _tmp14_); #line 112 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp15_ = self->buffer_index; #line 112 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp16_ = tracker_sparql_cursor_get_n_columns ((TrackerSparqlCursor*) self); #line 112 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp17_ = _tmp16_; #line 112 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" self->buffer_index = _tmp15_ + (sizeof (gint) * (_tmp17_ - 1)); #line 113 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp18_ = tracker_bus_fd_cursor_buffer_read_int (self); #line 113 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" last_offset = _tmp18_; #line 115 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp19_ = self->buffer; #line 115 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp20_ = self->buffer_index; #line 115 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" self->data = _tmp19_ + _tmp20_; #line 117 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp21_ = self->buffer_index; #line 117 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp22_ = last_offset; #line 117 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" self->buffer_index = _tmp21_ + (_tmp22_ + 1); #line 119 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" result = TRUE; #line 119 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" return result; #line 495 "tracker-bus-fd-cursor.c" }
static const gchar* tracker_bus_fd_cursor_real_get_string (TrackerSparqlCursor* base, gint column, glong* length) { TrackerBusFDCursor * self; glong _vala_length = 0L; const gchar* result = NULL; gint _tmp0_ = 0; gint _tmp1_ = 0; gint _tmp2_ = 0; gchar* _tmp3_ = NULL; const gchar* str = NULL; gint* _tmp4_ = NULL; gint _tmp5_ = 0; gint _tmp6_ = 0; gint _tmp7_ = 0; const gchar* _tmp13_ = NULL; gint _tmp14_ = 0; gint _tmp15_ = 0; const gchar* _tmp16_ = NULL; #line 65 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" self = (TrackerBusFDCursor*) base; #line 65 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp0_ = column; #line 65 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp1_ = tracker_sparql_cursor_get_n_columns ((TrackerSparqlCursor*) self); #line 65 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp2_ = _tmp1_; #line 65 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp3_ = self->data; #line 65 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" g_return_val_if_fail ((_tmp0_ < _tmp2_) && (_tmp3_ != NULL), NULL); #line 67 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" str = NULL; #line 70 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp4_ = self->types; #line 70 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp5_ = column; #line 70 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp6_ = _tmp4_[_tmp5_]; #line 70 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" if (_tmp6_ == ((gint) TRACKER_SPARQL_VALUE_TYPE_UNBOUND)) { #line 71 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _vala_length = (glong) 0; #line 72 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" result = NULL; #line 72 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" if (length) { #line 72 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" *length = _vala_length; #line 313 "tracker-bus-fd-cursor.c" } #line 72 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" return result; #line 317 "tracker-bus-fd-cursor.c" } #line 75 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp7_ = column; #line 75 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" if (_tmp7_ == 0) { #line 323 "tracker-bus-fd-cursor.c" gchar* _tmp8_ = NULL; #line 76 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp8_ = self->data; #line 76 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" str = (const gchar*) _tmp8_; #line 329 "tracker-bus-fd-cursor.c" } else { gchar* _tmp9_ = NULL; gint* _tmp10_ = NULL; gint _tmp11_ = 0; gint _tmp12_ = 0; #line 78 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp9_ = self->data; #line 78 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp10_ = self->offsets; #line 78 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp11_ = column; #line 78 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp12_ = _tmp10_[_tmp11_ - 1]; #line 78 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" str = (const gchar*) ((_tmp9_ + _tmp12_) + 1); #line 345 "tracker-bus-fd-cursor.c" } #line 81 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp13_ = str; #line 81 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp14_ = strlen (_tmp13_); #line 81 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp15_ = _tmp14_; #line 81 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _vala_length = (glong) _tmp15_; #line 83 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" _tmp16_ = str; #line 83 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" result = _tmp16_; #line 83 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" if (length) { #line 83 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" *length = _vala_length; #line 363 "tracker-bus-fd-cursor.c" } #line 83 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala" return result; #line 367 "tracker-bus-fd-cursor.c" }