@@ -815,12 +815,12 @@ static u32 saturating_add(u32 lhs, u32 rhs) {
815815 return (u32 )MIN (0xFFFFFFFF , sum );
816816}
817817
818- static void inc_row_read (Vdbe * p , int count ) {
818+ void libsql_inc_row_read (Vdbe * p , int count ) {
819819 u32 * read = & p -> aLibsqlCounter [LIBSQL_STMTSTATUS_ROWS_READ - LIBSQL_STMTSTATUS_BASE ];
820820 * read = saturating_add (* read , count );
821821}
822822
823- static void inc_row_written (Vdbe * p , int count ) {
823+ void libsql_inc_row_written (Vdbe * p , int count ) {
824824 u32 * write = & p -> aLibsqlCounter [LIBSQL_STMTSTATUS_ROWS_WRITTEN - LIBSQL_STMTSTATUS_BASE ];
825825 * write = saturating_add (* write , count );
826826}
@@ -3740,7 +3740,7 @@ case OP_Count: { /* out2 */
37403740 nEntry = 0 ; /* Not needed. Only used to silence a warning. */
37413741 i64 nPages = 0 ;
37423742 rc = sqlite3BtreeCount (db , pCrsr , & nEntry , & nPages );
3743- inc_row_read (p , nPages );
3743+ libsql_inc_row_read (p , nPages );
37443744 if ( rc ) goto abort_due_to_error ;
37453745 }
37463746 pOut = out2Prerelease (p , pOp );
@@ -4942,7 +4942,7 @@ case OP_SeekGT: { /* jump, in3, group, ncycle */
49424942 goto seek_not_found ;
49434943 }
49444944 }
4945- inc_row_read (p , 1 );
4945+ libsql_inc_row_read (p , 1 );
49464946#ifdef SQLITE_TEST
49474947 sqlite3_search_count ++ ;
49484948#endif
@@ -5512,7 +5512,7 @@ case OP_NotExists: /* jump, in3, ncycle */
55125512 pC -> deferredMoveto = 0 ;
55135513 VdbeBranchTaken (res != 0 ,2 );
55145514 pC -> seekResult = res ;
5515- inc_row_read (p , 1 );
5515+ libsql_inc_row_read (p , 1 );
55165516 if ( res != 0 ){
55175517 assert ( rc == SQLITE_OK );
55185518 if ( pOp -> p2 == 0 ){
@@ -5814,7 +5814,7 @@ case OP_Insert: {
58145814#endif
58155815
58165816 assert ( (pOp -> p5 & OPFLAG_LASTROWID )== 0 || (pOp -> p5 & OPFLAG_NCHANGE )!= 0 );
5817- if (!pC -> isEphemeral ) inc_row_written (p , 1 );
5817+ if (!pC -> isEphemeral ) libsql_inc_row_written (p , 1 );
58185818
58195819 if ( pOp -> p5 & OPFLAG_NCHANGE ){
58205820 p -> nChange ++ ;
@@ -6009,7 +6009,7 @@ case OP_Delete: {
60096009
60106010 /* Invoke the update-hook if required. */
60116011 if ( opflags & OPFLAG_NCHANGE ){
6012- if (!pC -> isEphemeral ) inc_row_written (p , 1 );
6012+ if (!pC -> isEphemeral ) libsql_inc_row_written (p , 1 );
60136013 p -> nChange ++ ;
60146014 if ( db -> xUpdateCallback && ALWAYS (pTab != 0 ) && HasRowid (pTab ) ){
60156015 db -> xUpdateCallback (db -> pUpdateArg , SQLITE_DELETE , zDb , pTab -> zName ,
@@ -6297,7 +6297,7 @@ case OP_Last: { /* jump, ncycle */
62976297 pC -> deferredMoveto = 0 ;
62986298 pC -> cacheStatus = CACHE_STALE ;
62996299 if ( rc ) goto abort_due_to_error ;
6300- inc_row_read (p , 1 );
6300+ libsql_inc_row_read (p , 1 );
63016301 if ( pOp -> p2 > 0 ){
63026302 VdbeBranchTaken (res != 0 ,2 );
63036303 if ( res ) goto jump_to_p2 ;
@@ -6407,7 +6407,7 @@ case OP_Rewind: { /* jump, ncycle */
64076407 }
64086408 if ( rc ) goto abort_due_to_error ;
64096409 pC -> nullRow = (u8 )res ;
6410- inc_row_read (p , 1 );
6410+ libsql_inc_row_read (p , 1 );
64116411 if ( pOp -> p2 > 0 ){
64126412 VdbeBranchTaken (res != 0 ,2 );
64136413 if ( res ) goto jump_to_p2 ;
@@ -6513,7 +6513,7 @@ case OP_Next: /* jump, ncycle */
65136513 if ( rc == SQLITE_OK ){
65146514 pC -> nullRow = 0 ;
65156515 p -> aCounter [pOp -> p5 ]++ ;
6516- inc_row_read (p , 1 );
6516+ libsql_inc_row_read (p , 1 );
65176517#ifdef SQLITE_TEST
65186518 sqlite3_search_count ++ ;
65196519#endif
@@ -6565,7 +6565,7 @@ case OP_IdxInsert: { /* in2 */
65656565 pIn2 = & aMem [pOp -> p2 ];
65666566 assert ( (pIn2 -> flags & MEM_Blob ) || (pOp -> p5 & OPFLAG_PREFORMAT ) );
65676567 if ( pOp -> p5 & OPFLAG_NCHANGE ) p -> nChange ++ ;
6568- if (!pC -> isEphemeral ) inc_row_written (p , 1 );
6568+ if (!pC -> isEphemeral ) libsql_inc_row_written (p , 1 );
65696569#ifndef SQLITE_OMIT_VECTOR
65706570 if ( isVectorCursor (pC ) ) {
65716571 UnpackedRecord idxKeyStatic ;
@@ -7017,7 +7017,7 @@ case OP_Clear: {
70177017 rc = sqlite3BtreeClearTable (db -> aDb [pOp -> p2 ].pBt , (u32 )pOp -> p1 , & nChange );
70187018 if ( pOp -> p3 ){
70197019 p -> nChange += nChange ;
7020- inc_row_written (p , nChange );
7020+ libsql_inc_row_written (p , nChange );
70217021 if ( pOp -> p3 > 0 ){
70227022 assert ( memIsValid (& aMem [pOp -> p3 ]) );
70237023 memAboutToChange (p , & aMem [pOp -> p3 ]);
@@ -8330,6 +8330,11 @@ case OP_VOpen: { /* ncycle */
83308330 if ( pCur ){
83318331 pCur -> uc .pVCur = pVCur ;
83328332 pVtab -> nRef ++ ;
8333+ #ifndef SQLITE_OMIT_VECTOR
8334+ if ( sqlite3StrICmp (pOp -> p4 .pVtab -> pMod -> zName , VECTOR_INDEX_VTAB_NAME ) == 0 ){
8335+ pCur -> isTracked = 1 ;
8336+ }
8337+ #endif
83338338 }else {
83348339 assert ( db -> mallocFailed );
83358340 pModule -> xClose (pVCur );
@@ -8604,7 +8609,7 @@ case OP_VNext: { /* jump, ncycle */
86048609 rc = pModule -> xNext (pCur -> uc .pVCur );
86058610 sqlite3VtabImportErrmsg (p , pVtab );
86068611 if ( rc ) goto abort_due_to_error ;
8607- inc_row_read (p , 1 );
8612+ libsql_inc_row_read (p , 1 );
86088613 res = pModule -> xEof (pCur -> uc .pVCur );
86098614 VdbeBranchTaken (!res ,2 );
86108615 if ( !res ){
@@ -8726,7 +8731,7 @@ case OP_VUpdate: {
87268731 p -> errorAction = ((pOp -> p5 == OE_Replace ) ? OE_Abort : pOp -> p5 );
87278732 }
87288733 }else {
8729- inc_row_written (p , 1 );
8734+ libsql_inc_row_written (p , 1 );
87308735 p -> nChange ++ ;
87318736 }
87328737 if ( rc ) goto abort_due_to_error ;
0 commit comments