DBD-SQLite-Amalgamation
view release on metacpan or search on metacpan
sqlite-amalgamation.c view on Meta::CPAN
323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391}
#endif /* NDEBUG */
/*
** Add a new Btree pointer to a BtreeMutexArray.
**
if
the pointer can possibly be shared
with
** another database connection.
**
** The pointers are kept in sorted order by pBtree->pBt. That
** way
when
we go to enter all the mutexes, we can enter them
** in order without every having to backup and retry and without
** worrying about deadlock.
**
** The number of shared btrees will always be small (usually 0 or 1)
** so an insertion
sort
is an adequate algorithm here.
*/
SQLITE_PRIVATE void sqlite3BtreeMutexArrayInsert(BtreeMutexArray
*pArray
, Btree
*pBtree
){
int
i, j;
BtShared
*pBt
;
if
( pBtree==0 || pBtree->sharable==0 )
return
;
#ifndef NDEBUG
sqlite-amalgamation.c view on Meta::CPAN
4862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641** jump immediately to P2.
**
** The P1 cursor must be
for
a real table, not a pseudo-table.
**
** See also: Prev
*/
/* Opcode: Prev P1 P2 * * *
**
** Back up cursor P1 so that it points to the previous key/data pair in its
** table or
index
. If there is
no
previous key/value pairs then fall through
** to the following instruction. But
if
the cursor backup was successful,
** jump immediately to P2.
**
** The P1 cursor must be
for
a real table, not a pseudo-table.
*/
case OP_Prev: /* jump */
case OP_Next: { /* jump */
Cursor
*pC
;
BtCursor
*pCrsr
;
int
res;
( run in 0.573 second using v1.01-cache-2.11-cpan-87723dcf8b7 )