summaryrefslogtreecommitdiff
path: root/src/libtracker-sparql
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2022-12-30 13:21:22 +0100
committerCarlos Garnacho <carlosg@gnome.org>2023-01-10 15:36:23 +0100
commitb71657f05077e4cf10c88d60280e0b086d8f71cc (patch)
tree3eb1221aadb4445e07b1f95f64fd582c4291e642 /src/libtracker-sparql
parent8dbf74386f28871385f784d9873c5aeaecf5222e (diff)
downloadtracker-b71657f05077e4cf10c88d60280e0b086d8f71cc.tar.gz
core: Drop "rowid" column from tracker_triples virtual table
The rowid is already handled in its own virtual table vfunc, this is unused and redundant.
Diffstat (limited to 'src/libtracker-sparql')
-rw-r--r--src/libtracker-sparql/core/tracker-vtab-triples.c19
1 files changed, 4 insertions, 15 deletions
diff --git a/src/libtracker-sparql/core/tracker-vtab-triples.c b/src/libtracker-sparql/core/tracker-vtab-triples.c
index 4d18f84f6..2be4ba467 100644
--- a/src/libtracker-sparql/core/tracker-vtab-triples.c
+++ b/src/libtracker-sparql/core/tracker-vtab-triples.c
@@ -38,7 +38,6 @@
#endif
enum {
- COL_ROWID,
COL_GRAPH,
COL_SUBJECT,
COL_PREDICATE,
@@ -153,7 +152,6 @@ triples_connect (sqlite3 *db,
rc = sqlite3_declare_vtab (module->db,
"CREATE TABLE x("
- " ID INTEGER,"
" graph INTEGER,"
" subject INTEGER, "
" predicate INTEGER, "
@@ -203,11 +201,6 @@ triples_best_index (sqlite3_vtab *vtab,
info->aConstraint[i].iColumn == COL_OBJECT_TYPE)
continue;
- if (info->aConstraint[i].iColumn == COL_ROWID) {
- sqlite3_free (idx_str);
- return SQLITE_ERROR;
- }
-
/* We can only check for (in)equality */
if (info->aConstraint[i].op != SQLITE_INDEX_CONSTRAINT_EQ &&
info->aConstraint[i].op != SQLITE_INDEX_CONSTRAINT_NE &&
@@ -218,11 +211,11 @@ triples_best_index (sqlite3_vtab *vtab,
}
/* idxNum encodes the used columns and their operators */
- idx |= masks[info->aConstraint[i].iColumn - 1].mask;
+ idx |= masks[info->aConstraint[i].iColumn].mask;
if (info->aConstraint[i].op == SQLITE_INDEX_CONSTRAINT_NE ||
info->aConstraint[i].op == SQLITE_INDEX_CONSTRAINT_ISNOTNULL)
- idx |= masks[info->aConstraint[i].iColumn - 1].negated_mask;
+ idx |= masks[info->aConstraint[i].iColumn].negated_mask;
/* idxStr stores the mapping between columns and filter arguments */
idx_str[info->aConstraint[i].iColumn] = argv_idx - 1;
@@ -557,12 +550,8 @@ triples_column (sqlite3_vtab_cursor *vtab_cursor,
TrackerTriplesCursor *cursor = (TrackerTriplesCursor *) vtab_cursor;
sqlite3_value *value;
- if (n_col == COL_ROWID) {
- sqlite3_result_int64 (context, cursor->rowid);
- } else {
- value = sqlite3_column_value (cursor->stmt, n_col - 1);
- sqlite3_result_value (context, value);
- }
+ value = sqlite3_column_value (cursor->stmt, n_col);
+ sqlite3_result_value (context, value);
return SQLITE_OK;
}