Home | History | Annotate | Download | only in dist

Lines Matching refs:RowSet

8806 typedef struct RowSet RowSet;
9380 #define OP_RowSetAdd 126 /* synopsis: rowset(P1)=r[P2] */
9381 #define OP_RowSetRead 127 /* synopsis: r[P3]=rowset(P1) */
9382 #define OP_RowSetTest 128 /* synopsis: if r[P3] in rowset(P1) goto P2 */
12547 SQLITE_PRIVATE RowSet *sqlite3RowSetInit(sqlite3*, void*, unsigned int);
12548 SQLITE_PRIVATE void sqlite3RowSetClear(RowSet*);
12549 SQLITE_PRIVATE void sqlite3RowSetInsert(RowSet*, i64);
12550 SQLITE_PRIVATE int sqlite3RowSetTest(RowSet*, int iBatch, i64);
12551 SQLITE_PRIVATE int sqlite3RowSetNext(RowSet*, i64*);
14029 RowSet *pRowSet; /* Used only when flags==MEM_RowSet */
14061 #define MEM_RowSet 0x0020 /* Value is a RowSet object */
24025 /* 126 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]"),
24026 /* 127 */ "RowSetRead" OpHelp("r[P3]=rowset(P1)"),
24027 /* 128 */ "RowSetTest" OpHelp("if r[P3] in rowset(P1) goto P2"),
39617 /************** Begin file rowset.c ******************************************/
39630 ** This module implements an object we call a "RowSet".
39632 ** The RowSet object is a collection of rowids. Rowids
39633 ** are inserted into the RowSet in an arbitrary order. Inserts
39635 ** previously inserted into the RowSet.
39638 ** elements of the RowSet in sorted order. Once this extraction
39641 ** Hence, the primitive operations for a RowSet are:
39650 ** obviously. The INSERT primitive adds a new element to the RowSet.
39651 ** TEST checks to see if an element is already in the RowSet. SMALLEST
39652 ** extracts the least value from the RowSet.
39672 ** batch number is O(NlogN) where N is the number of elements in the RowSet.
39688 ** The number of rowset entries per allocation chunk.
39694 ** Each entry in a RowSet is an instance of the following object.
39699 ** RowSet.pForest value points to the head of this forest list.
39711 ** when the RowSet is destroyed.
39719 ** A RowSet in an instance of the following structure.
39723 struct RowSet {
39736 ** Allowed values for RowSet.rsFlags
39738 #define ROWSET_SORTED 0x01 /* True if RowSet.pEntry is sorted */
39742 ** Turn bulk memory into a RowSet object. N bytes of memory
39745 ** Return a pointer to the new RowSet object.
39747 ** It must be the case that N is sufficient to make a Rowset. If not
39753 SQLITE_PRIVATE RowSet *sqlite3RowSetInit(sqlite3 *db, void *pSpace, unsigned int N){
39754 RowSet *p;
39770 ** Deallocate all chunks from a RowSet. This frees all memory that
39771 ** the RowSet has allocated over its lifetime. This routine is
39772 ** the destructor for the RowSet.
39774 SQLITE_PRIVATE void sqlite3RowSetClear(RowSet *p){
39790 ** given RowSet. Return a pointer to the new and completely uninitialized
39793 ** In an OOM situation, the RowSet.db->mallocFailed flag is set and this
39796 static struct RowSetEntry *rowSetEntryAlloc(RowSet *p){
39814 ** Insert a new value into a RowSet.
39819 SQLITE_PRIVATE void sqlite3RowSetInsert(RowSet *p, i64 rowid){
40001 RowSet.
40003 static void rowSetToList(RowSet *p){
40013 ** is never called after sqlite3RowSetText() for the same RowSet. So
40032 ** Extract the smallest element from the RowSet.
40034 ** 0 if the RowSet is already empty.
40039 SQLITE_PRIVATE int sqlite3RowSetNext(RowSet *p, i64 *pRowid){
40059 ** Check to see if element iRowid was inserted into the rowset as
40066 SQLITE_PRIVATE int sqlite3RowSetTest(RowSet *pRowSet, int iBatch, sqlite3_int64 iRowid){
40126 /************** End of rowset.c **********************************************/
68365 printf(" (rowset)");
73278 ** Synopsis: rowset(P1)=r[P2]
73298 ** Synopsis: r[P3]=rowset(P1)
73324 ** Synopsis: if r[P3] in rowset(P1) goto P2
73327 ** contains a RowSet object and that RowSet object contains
73329 ** integer in P3 into the RowSet and continue on to the
73332 ** The RowSet object is optimized for the case where successive sets
73340 ** the rowset object for P3, as it is guaranteed not to contain it,
73356 /* If there is anything other than a rowset object in memory cell P1,
73357 ** delete it now and initialize P1 with an empty rowset
91099 int iRowSet = 0; /* Register for rowset of rows to delete */
91231 /* For a rowid table, initialize the RowSet to an empty set */
91301 /* Get the rowid of the row to be deleted and remember it in the RowSet */
108345 int regRowSet = 0; /* Rowset of rows to be updated */
111747 ** the union of all rowids using a RowSet object. This is similar
114299 ** Null 1 # Zero the rowset in reg 1
114303 ** into the RowSet. If it is already present, control skips the
114307 ** RowSetTest # Insert rowid into rowset
114314 ** Null 1 # Zero the rowset in reg 1
114324 ** use an ephermeral index instead of a RowSet to record the primary
114334 int regRowset = 0; /* Register for RowSet object */
114374 /* Initialize the rowset register to contain NULL. An SQL NULL is
114375 ** equivalent to an empty rowset. Or, create an ephermeral index