*** 144,149 **** --- 144,158 ---- cursor opened using xOpen. ---- + *xEof* + + int (*xEof)(sqlite3_vtab_cursor*); + + This method must return true (non-zero) if the specified cursor currently + points to a valid row of data, or false (zero) otherwise. It is called by + the SQL engine immediately after each xFilter and xNext invocation. + + ---- *xFilter* int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, *************** *** 164,176 **** sqlite3_index_info structure. Those values are passed to xFilter using the argc and argv parameters. ! After this method completes, the cursor should be left ! pointing at a row of virtual table. The xColumn and xRowid methods can be used to access that row. The xNext method can be used to advance to the next row. ! If the cursor is already pointing at the last row, ! this routine returns 0 to indicate that no rows remain. ! If there are results available this routine returns 1. ---- *xNext* --- 173,189 ---- sqlite3_index_info structure. Those values are passed to xFilter using the argc and argv parameters. ! If the filtering constraints configured by idxNum and idxStr ! do not match any rows of the virtual table (i.e. no rows of ! data will be returned), then a subsequent call to the ! xEof method of the same table should return non-zero. ! Otherwise, xEof should return zero and the cursor should ! be left pointing at a row of the virtual table. The xColumn and xRowid methods can be used to access that row. The xNext method can be used to advance to the next row. ! ! This method should return SQLITE_OK if successful, or an ! sqlite error code if an error occurs. ---- *xNext* *************** *** 180,188 **** This method advances a virtual table cursor to the next row of a result set initiated by xFilter. If the cursor is already pointing at the last row ! this routine returns 0 to indicate that no rows ! remain. If the cursor was successfully advanced, ! this routine returns 1. ---- *xColumn* --- 193,205 ---- This method advances a virtual table cursor to the next row of a result set initiated by xFilter. If the cursor is already pointing at the last row ! when this routine is called, then the cursor no longer ! points to valid data and a subsequent call to the xEof ! method should return non-zero. Otherwise, the xEof ! method returns zero. ! ! This method should return SQLITE_OK if successful, or an ! sqlite error code if an error occurs. ---- *xColumn*