Hi,

I have added a database but it seems to be that the zip file got lost.

Regards,
Hartwig


> Am 2016-08-02 um 01:13 schrieb Richard Hipp <d...@sqlite.org>:
> 
> Do you have a database schema to go with your sample program?
> 
> On 8/1/16, skywind mailing lists <mailingli...@skywind.eu 
> <mailto:mailingli...@skywind.eu>> wrote:
>> Hi,
>> 
>> I have got a database that works using SQLite 3.7.7 but not with version
>> SQLite 3.13.0. I get the assertion
>> 
>> Assertion failed: (((Fts3Table *)pVtab)->mxSavepoint < iSavepoint), function
>> fts3SavepointMethod, file /.../sqlite/sqlite3.c, line 144649.
>> 
>> I have compiled the SQLite amalgamation with the options SQLITE_DEBUG=1
>> SQLITE_MEMDEBUG=1 SQLITE_THREADSAFE=1 SQLITE_ENABLE_RTREE=1
>> SQLITE_ENABLE_FTS3=1 SQLITE_ENABLE_FTS3_PARENTHESIS=1. I use this program to
>> reproduce the assertion:
>> 
>> #include <iostream>
>> 
>> #include "sqlite3.h"
>> 
>> static void ExecuteStatement(sqlite3* databaseHandle, std::string const&
>> sqlStatement)
>> {
>>      int           result;
>>      sqlite3_stmt* statementPtr(NULL);
>>      
>>      result =
>> sqlite3_prepare_v2(databaseHandle,sqlStatement.c_str(),static_cast<int>(sqlStatement.size()),&statementPtr,NULL);
>>      if (result == SQLITE_OK)
>>      {
>>              result = sqlite3_step(statementPtr);
>>              if ((result == SQLITE_OK) || (result == SQLITE_DONE))
>>                      result = sqlite3_finalize(statementPtr);
>>      } /* if */
>>      if (result != SQLITE_OK)
>>              std::cout << sqlite3_errmsg(databaseHandle) << " (" << 
>> sqlStatement << ')'
>> << std::endl;
>> }
>> 
>> int main(int argc, const char * argv[])
>> {
>>      sqlite3* databaseHandle(NULL);
>> 
>>      if (sqlite3_open_v2(„Test.sldb",&databaseHandle,SQLITE_OPEN_CREATE |
>> SQLITE_OPEN_READWRITE,NULL) == SQLITE_OK)
>>      {
>>              ExecuteStatement(databaseHandle,"BEGIN TRANSACTION;");
>>      
>>              ExecuteStatement(databaseHandle,"DELETE FROM A WHERE 
>> AnotherID=1;");
>>              ExecuteStatement(databaseHandle,"DELETE FROM B WHERE ID=1;");
>>              
>>              ExecuteStatement(databaseHandle,"COMMIT;");
>>              sqlite3_close(databaseHandle);
>>      } /* if */
>>      else
>>              std::cout << sqlite3_errmsg(databaseHandle) << std::end;
>> }
>> 
>> 
>> I do not get any error output besides the failed assertion. I have run an
>> integrity check on the database and I get the response „ok“.
>> 
>> I have seen that there has been a change in „sqlite3VtabSavepoint“ a while
>> ago. Can this change be the source of this error?
>> 
>> Basically, I have no clue what is going on…
>> 
>> Best regards,
>> Hartwig
>> _______________________________________________
>> sqlite-users mailing list
>> sqlite-users@mailinglists.sqlite.org 
>> <mailto:sqlite-users@mailinglists.sqlite.org>
>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users 
>> <http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users>
>> 
> 
> 
> -- 
> D. Richard Hipp
> d...@sqlite.org <mailto:d...@sqlite.org>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org 
> <mailto:sqlite-users@mailinglists.sqlite.org>
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users 
> <http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users>
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to