Home | History | Annotate | Download | only in orig

Lines Matching defs:rowid

1939 ** CAPI3REF: Last Insert Rowid
1941 ** ^Each entry in most SQLite tables (except for [WITHOUT ROWID] tables)
1943 ** integer key called the [ROWID | "rowid"]. ^The rowid is always available
1944 ** as an undeclared column named ROWID, OID, or _ROWID_ as long as those
1947 ** is another alias for the rowid.
1949 ** ^The sqlite3_last_insert_rowid(D) interface returns the [rowid] of the
1950 ** most recent successful [INSERT] into a rowid table or [virtual table]
1952 ** ^Inserts into [WITHOUT ROWID] tables are not recorded.
1953 ** ^If no successful [INSERT]s into rowid tables
1958 ** method, then this routine will return the [rowid] of the inserted
1982 ** function is running and thus changes the last insert [rowid],
1985 ** last insert [rowid].
2510 ** select random [ROWID | ROWIDs] when inserting new records into a table that
2511 ** already uses the largest possible [ROWID]. The PRNG is also used for
5026 ** a rowid table.
5031 ** row is updated, inserted or deleted in a rowid table.
5039 ** ^The final callback parameter is the [rowid] of the row.
5040 ** ^In the case of an update, this is the [rowid] after the update takes place.
5044 ** ^The update hook is not invoked when [WITHOUT ROWID] tables are modified.
5238 ** ^If the specified column is "rowid", "oid" or "_rowid_" and an
5708 ** SELECT zColumn FROM zDb.zTable WHERE [rowid] = iRow;
5748 ** ^The [sqlite3_blob_open()] interface will fail for a [WITHOUT ROWID]
5749 ** table. Incremental BLOB I/O is not possible on [WITHOUT ROWID] tables.
5774 ** by the rowid value passed as the second argument. Only the row can be
7589 sqlite3_int64 iRowid; /* Rowid for current entry */
9324 #define OP_NewRowid 70 /* synopsis: r[P2]=rowid */
9355 #define OP_Rowid 101 /* synopsis: r[P2]=rowid */
9364 #define OP_IdxRowid 110 /* synopsis: r[P2]=rowid */
10442 i64 lastRowid; /* ROWID of most recent insert (see above) */
10922 ** be set. An INTEGER PRIMARY KEY is used as the rowid for each row of
10923 ** the table. If a table has no INTEGER PRIMARY KEY, then a random rowid
10980 #define TF_WithoutRowid 0x20 /* No rowid used. PRIMARY KEY is the key */
10996 /* Does the table have a rowid */
11091 ** for the rowid at the end.
11382 ynVar iColumn; /* TK_COLUMN: column index. -1 for rowid.
11795 #define SRT_Fifo 5 /* Store result as data with an automatic rowid */
11808 #define SRT_Table 14 /* Store result as data with an automatic rowid */
11836 int regCtr; /* Memory register holding the rowid counter */
11949 int regRowid; /* Register holding rowid of CREATE TABLE entry */
13071 #define IN_INDEX_ROWID 1 /* Search the rowid of the table */
13944 i64 lastRowid; /* Rowid being deleted by OP_Delete */
13998 i64 lastRowid; /* Last insert rowid (sqlite3.lastRowid) */
23969 /* 70 */ "NewRowid" OpHelp("r[P2]=rowid"),
24000 /* 101 */ "Rowid" OpHelp("r[P2]=rowid"),
24009 /* 110 */ "IdxRowid" OpHelp("r[P2]=rowid"),
39614 ** can be intermixed with tests to see if a given rowid has been
39682 i64 v; /* ROWID value for this entry */
39799 SQLITE_PRIVATE void sqlite3RowSetInsert(RowSet *p, i64 rowid){
39808 pEntry->v = rowid;
39812 if( (p->rsFlags & ROWSET_SORTED)!=0 && rowid<=pLast->v ){
52017 ** rowid iRow is being replaced or deleted. In this case invalidate
52022 i64 iRow, /* The rowid that might be changing */
58766 ** BTREE_INTKEY|BTREE_LEAFDATA Used for SQL tables with rowid keys
59548 "Rowid %lld out of order (previous was %lld)", info.nKey, nMaxKey);
59605 "Rowid %lld out of order (max larger than parent min of %lld)",
59611 "Rowid %lld out of order (min less than parent min of %lld)",
59616 "Rowid %lld out of order (max larger than parent max of %lld)",
59625 "Rowid %lld out of order (min less than parent max of %lld)",
61754 int nCol = pIdx->nColumn; /* Number of index columns including rowid */
66036 ** Read the rowid (the last field in the record) and store it in *rowid.
66042 SQLITE_PRIVATE int sqlite3VdbeIdxRowid(sqlite3 *db, BtCursor *pCur, i64 *rowid){
66046 u32 typeRowid; /* Serial type of the rowid */
66047 u32 lenRowid; /* Size of the rowid */
66077 /* The last field of the index should be an integer - the ROWID.
66099 *rowid = v.u.i;
66117 ** pUnpacked is either created without a rowid or is truncated so that it
66118 ** omits the rowid at the end. The rowid at the end of the index entry
66120 ** of the keys prior to the final rowid, not the entire key.
68511 i64 lastRowid = db->lastRowid; /* Saved value of the last insert ROWID */
71575 i64 iKey; /* The rowid we are to seek to */
71712 ** P1 is an open table cursor and P2 is a rowid integer. Arrange
71713 ** for P1 to move so that it points to the rowid given by P2.
71881 ** keys). P3 is an integer rowid. If P1 does not contain a record with
71882 ** rowid P3 then jump immediately to P2. If P1 does contain a record
71883 ** with rowid P3 then leave the cursor pointing at that record and fall
71947 ** Synopsis: r[P2]=rowid
71949 ** Get a new integer record number (a.k.a "rowid") used as the key to a table.
71962 i64 v; /* The new rowid */
71963 VdbeCursor *pC; /* Cursor of table to get the new rowid */
71966 Mem *pMem; /* Register holding largest rowid for AUTOINCREMENT */
71977 /* The next rowid or record number (different terms for the same
71980 ** First we attempt to find the largest existing rowid and add one
71981 ** to that. But if the largest existing rowid is already the maximum
71985 ** The second algorithm is to select a rowid at random and see if
71987 ** succeeded. If the random rowid does exist, we select a new one
72052 /* IMPLEMENTATION-OF: R-07677-41881 If the largest ROWID is equal to the
72056 assert( pOp->p3==0 ); /* We cannot be in random rowid mode if this is
72067 /* collision - try another random rowid */
72102 ** then rowid is stored for subsequent return by the
72141 i64 iKey; /* The integer ROWID or key for the record to be inserted */
72404 /* Opcode: Rowid P1 P2 * * *
72405 ** Synopsis: r[P2]=rowid
72475 ** The next use of the Rowid or Column or Prev instruction for P1
72535 ** The next use of the Rowid or Column or Next instruction for P1
72789 ** Synopsis: r[P2]=rowid
72793 ** the rowid of the table entry to which this index entry points.
72795 ** See also: Rowid, MakeRecord.
72800 i64 rowid;
72813 rowid = 0; /* Not needed. Only used to silence a warning. */
72814 rc = sqlite3VdbeIdxRowid(db, pCrsr, &rowid);
72818 pOut->u.i = rowid;
72829 ** that P1 is currently pointing to, ignoring the PRIMARY KEY or ROWID
72840 ** that P1 is currently pointing to, ignoring the PRIMARY KEY or ROWID
72850 ** key that omits the PRIMARY KEY or ROWID. Compare this key value against
72852 ** ROWID on the P1 index.
72861 ** key that omits the PRIMARY KEY or ROWID. Compare this key value against
72863 ** ROWID on the P1 index.
73118 "SELECT name, rootpage, sql FROM '%q'.%s WHERE %s ORDER BY rowid",
74262 ** is the rowid of a row to delete. If argv[0] is NULL then no
74263 ** deletion occurs. The argv[1] element is the rowid of the new
74265 ** rowid for itself. The subsequent elements in the array are
74268 ** If P2==1 then no insert is performed. argv[0] is the rowid of
74273 ** is set to the value of the rowid for the row just inserted.
74283 sqlite_int64 rowid;
74306 rc = pModule->xUpdate(pVtab, nArg, apArg, &rowid);
74311 db->lastRowid = lastRowid = rowid;
74622 zErr = sqlite3MPrintf(p->db, "no such rowid: %lld", iRow);
74673 {OP_Variable, 1, 1, 1}, /* 4: Push the rowid to the stack */
74712 sqlite3ErrorMsg(pParse, "cannot open table without rowid: %s", zTable);
75377 ** If the bOmitRowid argument is non-zero, assume both keys end in a rowid
76075 ** the comparison, ignore the rowid field at the end of each record.
77081 /* Substitute the rowid (column -1) for the INTEGER PRIMARY KEY */
77150 ** Perhaps the name is a reference to the ROWID
77391 /* The special operator TK_ROW means use the rowid for the first
78089 ** Expr.iColumn The column index in X.Y. -1 for the rowid.
79650 if( sqlite3StrICmp(z, "ROWID")==0 ) return 1;
79949 ** to be of the form "<rowid> IN (?, ?, ?)", where <rowid> is a reference
79968 int isRowid /* If true, LHS of IN operator is a rowid */
80287 /* In this case, the RHS is the ROWID of table b-tree
80570 int iTabCur, /* The table cursor. Or the PK cursor for WITHOUT ROWID */
80596 ** is called. If iColumn<0 then code is generated that extracts the rowid.
81171 ** read the rowid field.
81174 ** parameter is set to 0 for an old.rowid reference, or to (i+1)
81176 ** i is the index of the column. For a new.rowid reference, p1 is
81187 ** p1==0 -> old.rowid p1==3 -> new.rowid
81202 (pExpr->iColumn<0 ? "rowid" : pExpr->pTab->aCol[pExpr->iColumn].zName),
81659 ** read the rowid field.
83683 i64 iRowid; /* Rowid in main table of the key */
83684 u8 *aRowid; /* Key for WITHOUT ROWID tables */
83695 int nCol; /* Number of columns in index + pk/rowid */
83696 int nKeyCol; /* Number of index columns w/o the pk/rowid */
83720 /* Initialize the BLOB value of a ROWID
83736 /* Initialize the INTEGER value of a ROWID.
83784 ** N: The number of columns in the index including the rowid/pk (note 1)
83785 ** K: The number of columns in the index excluding the rowid/pk.
83789 ** WITHOUT ROWID table, N is the number of PRIMARY KEY columns, not the
83794 ** For indexes on ordinary rowid tables, N==K+1. But for indexes on
83795 ** WITHOUT ROWID tables, N=K+P where P is the number of columns in the
83797 ** original WITHOUT ROWID table as N==K as a special case.
84009 /* The "rows less-than" for the rowid column must be greater than that
84104 ** R Rowid for the current row. Might be a key record for
84105 ** WITHOUT ROWID tables.
84197 #define STAT_GET_ROWID 1 /* "rowid" column of stat[34] entry */
84378 int regNewRowid = iMem++; /* Rowid for the inserted record */
84382 int regRowid = iMem++; /* Rowid argument passed to stat_push() */
84472 ** regRowid = idx(rowid)
84481 ** the regPrev array and a trailing rowid (the rowid slot is required
84494 ** (1) the number of columns in the index including the rowid
84495 ** (or for a WITHOUT ROWID table, the number of PK columns),
84496 ** (2) the number of columns in the key without the rowid/pk
84580 ** regRowid = idx(rowid) // STAT34 only
85010 ** Look up an index by name. Or, if the name of a WITHOUT ROWID table
86017 zCol = "ROWID";
87069 ** The rowid for the new entry is left in register pParse->regRowid.
87071 ** The rowid and root page number values are needed by the code that
87330 ** then we will try to use that column as the rowid. Set the Table.iPKey
87710 ** has a WITHOUT ROWID clause. The job of this routine is to convert both
87712 ** are appropriate for a WITHOUT ROWID table instead of a rowid table.
87716 ** no rowid btree for a WITHOUT ROWID. Instead, the canonical
87728 ** (6) Replace the rowid tail on all automatically generated UNIQUE
87788 ** the final rowid column into one or more columns of the PRIMARY KEY.
87882 /* Special processing for WITHOUT ROWID Tables */
87886 "AUTOINCREMENT not allowed on WITHOUT ROWID tables");
88001 "WHERE rowid=#%d",
88903 Index *pPk = 0; /* PRIMARY KEY index for WITHOUT ROWID tables */
89259 ** of a WITHOUT ROWID table.
90086 ** Code an OP_Halt due to non-unique rowid.
90091 Table *pTab /* The table with the non-unique rowid */
90100 zMsg = sqlite3MPrintf(pParse->db, "%s.rowid", pTab->zName);
90966 Expr *pWhereRowid = NULL; /* WHERE rowid .. */
90967 Expr *pInClause = NULL; /* WHERE rowid IN ( select ) */
90968 Expr *pSelectRowid = NULL; /* SELECT rowid ... */
90970 SrcList *pSelectSrc = NULL; /* SELECT rowid FROM x ... (dup of pSrc) */
90993 ** DELETE FROM table_a WHERE rowid IN (
90994 ** SELECT rowid FROM table_a WHERE col1=1 ORDER BY col2 LIMIT 1 OFFSET 1
91016 /* now generate the new WHERE rowid IN clause for the DELETE/UDPATE */
91211 /* For a rowid table, initialize the RowSet to an empty set */
91217 /* For a WITHOUT ROWID table, create an ephermeral table used to
91229 /* Construct a query to find the rowid or primary key for every row
91243 /* Extract the rowid or primary key for the current row */
91257 /* For ONEPASS, no need to store the rowid/primary-key. There is only
91281 /* Get the rowid of the row to be deleted and remember it in the RowSet */
91282 nKey = 1; /* OP_Seek always uses a single rowid */
91365 ** maximum rowid counter values recorded while inserting into
91408 ** in the case of a rowid table, or the PRIMARY KEY index in the case
91409 ** of a WITHOUT ROWID table.)
91460 ** avoid copying the contents of the rowid register. */
91538 ** for rowid tables or to the primary key index for WITHOUT ROWID
91561 Index *pPk; /* PRIMARY KEY index, or NULL for rowid tables */
91583 ** the entry that needs indexing. If pTab is a WITHOUT ROWID table, then
91607 ** on a table with multiple indices, and especially with the ROWID or
93875 ** for pTab. regBase itself holds the rowid. regBase+1 holds the first
94010 ** $current_rowid!=rowid
94013 ** The first form is used for rowid tables. The second form is used
94014 ** for WITHOUT ROWID tables. In the second form, the primary key is
94177 ** is set to -1). If the rowid column is modified by the UPDATE statement
94187 int bChngRowid /* True if rowid is modified by this update */
94204 ** is set to -1). If the rowid column is modified by the UPDATE statement
94241 ** rowid of the row being deleted, followed by each of the column values
94260 int bChngRowid /* True if rowid is UPDATEd */
94463 ** UPDATE statement modifies the rowid fields of the table.
94473 int chngRowid /* True for UPDATE that affects rowid */
94721 int bChngRowid /* True if rowid is UPDATEd */
94808 ** If pTab is a WITHOUT ROWID table, then it is the PRIMARY KEY index
94851 ** rowid that appears as the last column in every index.
94978 ** that holds the maximum rowid.
94989 ** (2) Register to hold the maximum ROWID of pTab.
94990 ** (3) Register to hold the rowid in sqlite_sequence of pTab
95000 int memId = 0; /* Register holding maximum rowid */
95015 pInfo->regCtr = ++pToplevel->nMem; /* Max rowid register */
95016 pToplevel->nMem++; /* Rowid in sqlite_sequence */
95031 int memId; /* Register holding max rowid */
95063 ** Update the maximum rowid for an autoincrement calculation.
95066 ** new rowid that is about to be inserted. If that new rowid is
95067 ** larger than the maximum rowid in the memId memory cell, then the
95078 ** maximum rowid values back into the sqlite_sequence register.
95249 u8 withoutRowid; /* 0 for normal table. 1 for WITHOUT ROWID table */
95257 int regIns; /* Block of regs holding rowid+data being inserted */
95258 int regRowid; /* registers holding insert rowid */
95362 /* Allocate registers for holding the rowid of the new row,
95464 int regTempRowid; /* Register to hold temp table ROWID */
95581 ** not happened yet) so we substitute a rowid of -1
95697 ** Whenever this column is read, the rowid will be substituted
95788 ** maximum rowid counter values recorded while inserting into
95834 ** that regNewData points to) will contain the new rowid, or NULL in the
95835 ** case of a WITHOUT ROWID table. The second register in the range will
95845 ** rowid for a normal table or the PRIMARY KEY for a WITHOUT ROWID table)
95849 ** For an INSERT, the pkChng boolean indicates whether or not the rowid
95851 ** is zero, it means that the either rowid is computed automatically or
95852 ** that the table is a WITHOUT ROWID table and has no rowid. On an INSERT,
95854 ** value for either the rowid column or its INTEGER PRIMARY KEY alias.
95865 ** inserting or updating a rowid table, or the cursor for the PRIMARY KEY
95866 ** index when operating on a WITHOUT ROWID table. iIdxCur is the cursor
95918 u8 pkChng, /* Non-zero if the rowid or PRIMARY KEY changed */
95933 int nPkField; /* Number of fields in PRIMARY KEY. 1 for ROWID tables */
95934 int ipkTop = 0; /* Top of the rowid change constraint check */
95935 int ipkBottom = 0; /* Bottom of the rowid change constraint check */
95938 int regRowid = -1; /* Register holding ROWID value */
95947 /* pPk is the PRIMARY KEY index for WITHOUT ROWID tables and NULL for
95948 ** normal rowid tables. nPkField is the number of key fields in the
95949 ** pPk index or 1 for a rowid table. In other words, nPkField is the
96035 /* If rowid is changing, make sure the new rowid does not previously
96041 /* Figure out what action to take in case of a rowid collision */
96050 /* pkChng!=0 does not mean that the rowid has change, only that
96051 ** it might have changed. Skip the conflict logic below if the rowid
96058 /* If the response to a rowid conflict is REPLACE but the response
96060 ** to defer the running of the rowid conflict checking until after
96072 /* Check to see if the new rowid already exists in the table. Skip
96077 /* Generate code that deals with a rowid collision */
96107 ** REPLACE INTO t(rowid) VALUES($newrowid)
96145 ** WITHOUT ROWID table.
96178 if( regRowid==regIdx+i ) continue; /* ROWID already in regIdx+i */
96185 VdbeComment((v, "%s", iField<0 ? "rowid" : pTab->aCol[iField].zName));
96192 ** of a WITHOUT ROWID table and there has been no change the
96222 /* Conflict only if the rowid of the existing index entry
96223 ** is different from old-rowid */
96242 /* If currently processing the PRIMARY KEY of a WITHOUT ROWID
96315 ** rowid and the content to be inserted.
96334 int regData; /* Content registers (after the rowid) */
96389 ** ROWID table) is returned in *piDataCur. The first index cursor is
96392 ** Use iBase as the first cursor (either the *piDataCur for rowid tables
96393 ** or the first index for WITHOUT ROWID tables) if it is non-negative.
96396 ** For a rowid table, *piDataCur will be exactly one less than *piIdxCur.
96397 ROWID table, *piDataCur will be somewhere in the range
96563 int regData, regRowid; /* Registers holding data and rowid */
96637 return 0; /* source and destination must both be WITHOUT ROWID or not */
96732 ** (If the destination is not initially empty, the rowid fields
99863 sqlite3VdbeSetColName(v, 1, COLNAME_NAME, "rowid", SQLITE_STATIC);
100889 "SELECT name, rootpage, sql FROM '%q'.%s ORDER BY rowid",
102688 ** declaration type for a ROWID field is INTEGER. Exactly when an expression
102781 ** rowid of the sub-select or view. This expression is legal (see
102799 zOrigCol = "rowid";
102937 zCol = "rowid";
103019 iCol>=0 ? pTab->aCol[iCol].zName : "rowid");
104419 ** entry in pEList. (But leave references to the ROWID column
108068 ** reg+0 OLD.rowid
108072 ** reg+N+1 NEW.rowid
108141 ** It is not possible to determine if the old.rowid or new.rowid column is
108208 Expr *pRowidExpr, /* Expression used to recompute the rowid */
108286 Index *pPk; /* The PRIMARY KEY index for WITHOUT ROWID tables */
108297 u8 chngPk; /* PRIMARY KEY changed in a WITHOUT ROWID table */
108298 u8 chngRowid; /* Rowid changed in a normal table */
108316 int nKey = 0; /* Number of elements in regKey for WITHOUT ROWID */
108321 int regOldRowid; /* The old rowid */
108322 int regNewRowid; /* The new rowid */
108435 j<0 ? "ROWID" : pTab->aCol[j].zName,
108539 /* Remember the rowid of every item to be updated.
108828 ** maximum rowid counter values recorded while inserting into
108871 ** (A) The original rowid of that row.
108872 ** (B) The revised rowid for the row. (note1)
108889 Expr *pRowid, /* Expression used to recompute the rowid */
109723 ** The VM register number pParse->regRowid holds the rowid of an
109731 "WHERE rowid=#%d",
113656 char *z = aiColumn[i] < 0 ? "rowid" : aCol[aiColumn[i]].zName;
113669 char *z = aiColumn[j] < 0 ? "rowid" : aCol[aiColumn[j]].zName;
113673 char *z = aiColumn[j] < 0 ? "rowid" : aCol[aiColumn[j]].zName;
113747 zMsg = sqlite3MAppendf(db, zMsg, "%s (rowid=?)", zMsg);
113749 zMsg = sqlite3MAppendf(db, zMsg, "%s (rowid>? AND rowid<?)", zMsg);
113751 zMsg = sqlite3MAppendf(db, zMsg, "%s (rowid>?)", zMsg);
113753 zMsg = sqlite3MAppendf(db, zMsg, "%s (rowid<?)", zMsg);
113795 int iRowidReg = 0; /* Rowid is stored in this register, if not zero */
113892 ** equality comparison against the ROWID field. Or
113893 ** we reference multiple rows using a "rowid IN (...)"
113916 /* Case 3: We have an inequality comparison against the ROWID field.
114282 ** RowSetTest are such that the rowid of the current row is inserted
114287 ** RowSetTest # Insert rowid into rowset
114303 ** Added 2014-05-26: If the table is a WITHOUT ROWID table, then
114315 int regRowid = 0; /* Register holding rowid */
114356 ** capable of holding primary keys in the case of a WITHOUT ROWID.
114439 ** rowid (or PRIMARY KEY) for the current row so that the same
115529 ** variable sPk to represent the rowid primary key index. Make this
116054 ** Any WhereLoop with an WHERE_COLUMN_EQ constraint on the rowid is one-row.
116066 ** The rowid for a table is always UNIQUE and NOT NULL so whenever the
116067 ** rowid appears in the ORDER BY clause, the corresponding WhereLoop is
116718 /* TUNING: Cost of a rowid lookup is 10 */
117199 ** WITHOUT ROWID table. No need for a separate index */
119618 if( yymsp[0].minor.yy0.n==5 && sqlite3_strnicmp(yymsp[0].minor.yy0.z,"rowid",5)==0 ){
122894 ** Return the ROWID of the most recent insert
125123 ** 1. The specified column name was rowid", "oid" or "_rowid_"
126857 #define FTS3_DOCID_SEARCH 1 /* Lookup by rowid on %_content table */
127674 fts3Appendf(pRc, &zRet, "rowid");
128324 ** 1. Direct lookup by rowid or docid.
128364 /* A direct lookup on the rowid or docid column. Assign a cost of 1.0. */
128375 ** rowid/docid lookup, prefer the MATCH strategy. This is done even
128376 ** though the rowid/docid lookup is faster than a MATCH query, selecting
128428 /* Regardless of the strategy selected, FTS can deliver rows in rowid (or
128488 ** "SELECT <columns> FROM %_content WHERE rowid = ?"
128500 zSql = sqlite3_mprintf("SELECT %s WHERE rowid = ?", p->zReadExprlist);
129928 sqlite3_value *pCons = 0; /* The MATCH or rowid constraint, if any */
130000 "SELECT %s ORDER BY rowid %s",
130030 ** retrieve the rowid for the current row of the result set. fts3
130031 rowid for the virtual table. The
130032 ** rowid should be written to *pRowid.
130065 ** alias for "rowid", use the xRowid() method to obtain the value.
130105 sqlite_int64 *pRowid /* OUT: The affected (or effected) rowid */
132670 sqlite3_int64 iRowid; /* Current rowid */
132906 /* Increment our pretend rowid value. */
133137 ** xRowid - Return the current rowid for the cursor.
133141 sqlite_int64 *pRowid /* OUT: Rowid value */
136309 int iRowid; /* Current 'rowid' value */
136650 ** xRowid - Return the current rowid for the cursor.
136654 sqlite_int64 *pRowid /* OUT: Rowid value */
136841 sqlite3_int64 iStartBlock; /* Rowid of first leaf block to traverse */
136842 sqlite3_int64 iLeafEndBlock; /* Rowid of final leaf block to traverse */
136843 sqlite3_int64 iEndBlock; /* Rowid of final block in segment (or 0) */
136993 /* 0 */ "DELETE FROM %Q.'%q_content' WHERE rowid = ?",
136994 /* 1 */ "SELECT NOT EXISTS(SELECT docid FROM %Q.'%q_content' WHERE rowid!=?)",
137000 /* 7 */ "SELECT %s WHERE rowid=?",
137637 ** apVal[1] rowid
137642 ** apVal[p->nColumn+3] Hidden "docid" column (alias for rowid)
137683 ** a value for the "rowid" field, for the "docid" field, or for both.
137684 ** Which is a problem, since "rowid" and "docid" are aliases for the
137687 ** INSERT INTO fts3tbl(rowid, docid) VALUES(1, 2);
137690 ** for both docid and some other rowid alias.
137696 /* A rowid/docid conflict. */
141401 ** exists, is stored in the rowid==1 row of the %_stat table.
142143 ** SQLite value pRowid contains the rowid of a row that may or may not be
142200 sqlite_int64 *pRowid /* OUT: The affected (or effected) rowid */
142249 /* If this is an INSERT operation, or an UPDATE that modifies the rowid
142259 /* Find the value object that holds the new rowid value. */
142269 /* The new rowid is not NULL (in this case the rowid will be
142272 ** rowid column. So if the conflict mode is REPLACE, then delete any
142273 ** existing row with rowid=pNewRowid.
142276 ** the %_content table. If we hit the duplicate rowid constraint (or any
144674 ** CREATE TABLE %_rowid(rowid INTEGER PRIMARY KEY, nodeno INTEGER)
144680 ** table that maps from the entries rowid to the id of the node that it
144697 ** of 4-byte coordinates. For leaf nodes the integer is the rowid
144849 ** supported cell size is 48 bytes (8 byte rowid + ten 4 byte coordinates).
145347 ** node pNode. If pNode is a leaf node, this is a rowid. If it is
146090 ** rowid iRowid. If successful, set *ppLeaf to point to the node and
146097 i64 iRowid, /* The rowid searching for */
146189 /* Special case - lookup by rowid. */
146288 ** 1 Unused Direct lookup by rowid.
146330 /* We have an equality constraint on the rowid. Use strategy 1. */
146340 /* This strategy involves a two rowid lookups on an B-Tree structures
146342 ** considered almost as quick as a direct rowid lookup (for which
147001 ** rowid of the row to delete, which can be used to find the leaf on which
147311 ** Select a currently unused rowid for a new r-tree record.
147324 ** Remove the entry with rowid=iDelete from the r-tree structure.
147449 int bHaveRowid = 0; /* Set to 1 after new rowid is determined */
147457 ** 1. A duplicate rowid value, or
147493 /* If a rowid value was supplied, check if it is already present in
147517 /* If azData[0] is not an SQL NULL value, it is the rowid of a
147533 /* Figure out the rowid of the new row. */
147659 "SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = :1",
147661 "DELETE FROM '%q'.'%q_rowid' WHERE rowid = :1",
147676 "CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY, nodeno INTEGER);"
147901 ** list, containing the 8-byte rowid/pageno followed by the