Documentation Source Text

Check-in [e9e994caf8]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix typos in the vtab.html document.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: e9e994caf85aedf51b6bccb0727314f59a482429
User & Date: drh 2009-04-15 12:56:59
Context
2009-04-17
12:30
Added documentation on the SQLITE_HAVE_ISNAN compile-time option. check-in: d1b62a10d5 user: drh tags: trunk
2009-04-15
12:56
Fix typos in the vtab.html document. check-in: e9e994caf8 user: drh tags: trunk
2009-04-14
18:20
More virtual table documentation tweaks. check-in: 0d0a959a73 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to pages/vtab.in.

279
280
281
282
283
284
285
286

287
288
289
290
291
292
293
...
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
...
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862

<p>This method is called to create a new instance of a virtual table 
in response to a [CREATE VIRTUAL TABLE] statement. 
The db parameter is a pointer to the SQLite [database connection] that 
is executing the [CREATE VIRTUAL TABLE] statement. 
The pAux argument is the copy of the client data pointer that was the 
fourth argument to the [sqlite3_create_module()] or
[sqlite3_create_module_v2()] call that registered the [virtual table module]. 

The argv parameter is an array of argc pointers to null terminated strings. 
The first string, argv[0], is the name of the module being invoked.   The
module name is the name provided as the second argument to 
[sqlite3_create_module()] and as the argument to the USING clause of the
[CREATE VIRTUAL TABLE] statement that is running.
The second, argv[1], is the name of the database in which the new virtual table is being created. The database name is "main" for the primary database, or
"temp" for TEMP database, or the name given at the end of the [ATTACH]
................................................................................
hd_fragment xnext {sqlite3_module.xNext} {xNext}</tcl>
<h3>2.10 The xNext Method</h3>

<blockquote><pre>
  int (*xNext)(sqlite3_vtab_cursor*);
</pre></blockquote>

<p>The xNext 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 must return true (non-zero). 
If the cursor is successfully advanced to another row of content, then
subsequent calls to [xEof] must return false (zero).

<p>This method must return [SQLITE_OK] if successful, or an sqlite 
................................................................................

<blockquote><pre>
  int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid);
</pre></blockquote>

<p>A successful invocation of this method will cause *pRowid to be
filled with the [rowid] of row that the
[virtual table cursor] pCur is currently pointing at.
This method returns [SQLITE_OK] on success.
It returns an appropriate [error code] on failure.</p>

<p>The xRowid method is required for every virtual table implementation.

<tcl>############################################################# xUpdate
hd_fragment xupdate {sqlite3_module.xUpdate} {xUpdate}</tcl>







|
>







 







|
|







 







|







279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
...
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
...
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863

<p>This method is called to create a new instance of a virtual table 
in response to a [CREATE VIRTUAL TABLE] statement. 
The db parameter is a pointer to the SQLite [database connection] that 
is executing the [CREATE VIRTUAL TABLE] statement. 
The pAux argument is the copy of the client data pointer that was the 
fourth argument to the [sqlite3_create_module()] or
[sqlite3_create_module_v2()] call that registered the 
[sqlite3_module | virtual table module]. 
The argv parameter is an array of argc pointers to null terminated strings. 
The first string, argv[0], is the name of the module being invoked.   The
module name is the name provided as the second argument to 
[sqlite3_create_module()] and as the argument to the USING clause of the
[CREATE VIRTUAL TABLE] statement that is running.
The second, argv[1], is the name of the database in which the new virtual table is being created. The database name is "main" for the primary database, or
"temp" for TEMP database, or the name given at the end of the [ATTACH]
................................................................................
hd_fragment xnext {sqlite3_module.xNext} {xNext}</tcl>
<h3>2.10 The xNext Method</h3>

<blockquote><pre>
  int (*xNext)(sqlite3_vtab_cursor*);
</pre></blockquote>

<p>The xNext method advances a [sqlite3_vtab_cursor | 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 must return true (non-zero). 
If the cursor is successfully advanced to another row of content, then
subsequent calls to [xEof] must return false (zero).

<p>This method must return [SQLITE_OK] if successful, or an sqlite 
................................................................................

<blockquote><pre>
  int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid);
</pre></blockquote>

<p>A successful invocation of this method will cause *pRowid to be
filled with the [rowid] of row that the
[sqlite3_vtab_cursor | virtual table cursor] pCur is currently pointing at.
This method returns [SQLITE_OK] on success.
It returns an appropriate [error code] on failure.</p>

<p>The xRowid method is required for every virtual table implementation.

<tcl>############################################################# xUpdate
hd_fragment xupdate {sqlite3_module.xUpdate} {xUpdate}</tcl>