Quantcast

Second beta for SQLite 3.18.0.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Second beta for SQLite 3.18.0.

Richard Hipp-3
The second beta release for SQLite 3.18.0 is now available on the website:

   https://www.sqlite.org/download.html

This second beta adds a new SQL function: json_patch().  See
https://www.sqlite.org/draft/json1.html#jpatch for details.

Final testing will begin soon, so please do not delay in reporting
issues or concerns.  Thanks.
--
D. Richard Hipp
[hidden email]
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Second beta for SQLite 3.18.0.

Daniel Polski
The "PRAGMA optimize" looks interesting.

- Can using "PRAGMA optimize" in one thread create a situation where
"BEGIN IMMEDIATE TRANSACTION" in another thread fails? (The threads are
using different connections)

- Is there any risk of "optimization fighting" if several threads are
using the same database but with different work load? (i.e. can an
optimization replace another optimization, or do they just accumulate?)

Unrelated:
Is there any public information about feature/enhancement ideas in early
stages? The actual development can be seen in the commit history, but I
mean a more general overview when you discuss & plan for future
enhancements. Just out of curiosity.
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Second beta for SQLite 3.18.0.

nomad
In reply to this post by Richard Hipp-3
On Thu Mar 23, 2017 at 07:50:34PM -0400, Richard Hipp wrote:
> The second beta release for SQLite 3.18.0 is now available on the website:
>
>    https://www.sqlite.org/download.html

I see the following issue:

    Program terminated with signal SIGSEGV, Segmentation fault.
    #0  sqlite3VdbeExec (p=p@entry=0x9ca2558) at sqlite3.c:83010
    83010     pCrsr = pC->uc.pCursor;
    (gdb) print pC
    $1 = (VdbeCursor *) 0x0
    (gdb) backtrace
    #0  sqlite3VdbeExec (p=p@entry=0x9ca2558) at sqlite3.c:83010
    #1  0xb71b56a2 in sqlite3Step (p=0x9ca2558) at sqlite3.c:76605
    #2  sqlite3_step (pStmt=<optimized out>) at sqlite3.c:11130
    #3  0xb713069b in sqlite_st_execute (sth=0xa2b1dc0, imp_sth=0xa331238)
        at dbdimp.c:1038
    #4  0xb7121b1d in XS_DBD__SQLite__st_execute (cv=0x98f34d8) at ./SQLite.xsi:614
    #5  0xb7254e8d in XS_DBI_dispatch ()
       from /home/mark/src/bif/.direnv/perl5/lib/perl5/i686-linux/auto/DBI/DBI.so
    #6  0x080edcb7 in Perl_pp_entersub ()
    #7  0x080e7393 in Perl_runops_standard ()
    #8  0x08083f12 in perl_run ()
    #9  0x0806227d in main ()

The segfault seems to occur during COMMIT.

Versions 3.16 and 3.17 show the same behaviour but 3.13 does not
(changing nothing else other than sqlite3.[ch] and sqlite3ext.h).

Mark
--
Mark Lawrence
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Second beta for SQLite 3.18.0.

nomad
On Fri Mar 24, 2017 at 08:31:13AM +0100, [hidden email] wrote:
> On Thu Mar 23, 2017 at 07:50:34PM -0400, Richard Hipp wrote:
> > The second beta release for SQLite 3.18.0 is now available on the website:
>
> I see the following issue:
>
>     Program terminated with signal SIGSEGV, Segmentation fault.
>     #0  sqlite3VdbeExec (p=p@entry=0x9ca2558) at sqlite3.c:83010
>     83010     pCrsr = pC->uc.pCursor;

If I turn on SQLITE_DEBUG the assert on line 83090 fails:

    perl: sqlite3.c:83008: sqlite3VdbeExec: Assertion `pC!=0' failed.

--
Mark Lawrence
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

json_patch(): null not removed with 2nd beta for SQLite 3.18.0.

Ralf Junker
In reply to this post by Richard Hipp-3
On 24.03.2017 00:50, Richard Hipp wrote:

> This second beta adds a new SQL function: json_patch().  See
> https://www.sqlite.org/draft/json1.html#jpatch for details.

json_patch() fails to produce the expected result for the last example
in https://tools.ietf.org/html/rfc7396#appendix-A

   SELECT json_patch('{}','{"a":{"bb":{"ccc":null}}}');

should return

   {"a":{"bb":{}}}

but instead returns

   {"a":{"bb":{"ccc":null}}}

As far as I read the document, the "ccc" value should be removed
according to this rule:

   if Value is null:
     if Name exists in Target:
       remove the Name/Value pair from Target

Ralf
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Second beta for SQLite 3.18.0.

Dan Kennedy-4
In reply to this post by nomad
On 03/24/2017 02:43 PM, [hidden email] wrote:

> On Fri Mar 24, 2017 at 08:31:13AM +0100, [hidden email] wrote:
>> On Thu Mar 23, 2017 at 07:50:34PM -0400, Richard Hipp wrote:
>>> The second beta release for SQLite 3.18.0 is now available on the website:
>> I see the following issue:
>>
>>      Program terminated with signal SIGSEGV, Segmentation fault.
>>      #0  sqlite3VdbeExec (p=p@entry=0x9ca2558) at sqlite3.c:83010
>>      83010     pCrsr = pC->uc.pCursor;
> If I turn on SQLITE_DEBUG the assert on line 83090 fails:
>
>      perl: sqlite3.c:83008: sqlite3VdbeExec: Assertion `pC!=0' failed.



Are you able to share the database schema (output of the shell tool
".fullschema" command) and the currently executing SQL statement ("print
p->zSql" in gdb after the crash)?

Dan.
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: json_patch(): null not removed with 2nd beta for SQLite 3.18.0.

Richard Hipp-3
In reply to this post by Ralf Junker
On 3/24/17, Ralf Junker <[hidden email]> wrote:
> On 24.03.2017 00:50, Richard Hipp wrote:
>
>> This second beta adds a new SQL function: json_patch().  See
>> https://www.sqlite.org/draft/json1.html#jpatch for details.
>
> json_patch() fails to produce the expected result for the last example
> in https://tools.ietf.org/html/rfc7396#appendix-A

I overlooked appendix-A.  Problem should be fixed now.  Tnx for the bug report.
--
D. Richard Hipp
[hidden email]
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Second beta for SQLite 3.18.0.

Daniel Polski
In reply to this post by Daniel Polski
Den 2017-03-24 kl. 08:09, skrev Daniel Polski:

> The "PRAGMA optimize" looks interesting.
>
> - Can using "PRAGMA optimize" in one thread create a situation where
> "BEGIN IMMEDIATE TRANSACTION" in another thread fails? (The threads
> are using different connections)
>
> - Is there any risk of "optimization fighting" if several threads are
> using the same database but with different work load? (i.e. can an
> optimization replace another optimization, or do they just accumulate?)
>
> Unrelated:
> Is there any public information about feature/enhancement ideas in
> early stages? The actual development can be seen in the commit
> history, but I mean a more general overview when you discuss & plan
> for future enhancements. Just out of curiosity.

No information regarding the questions above?

Best regards,
Daniel
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Second beta for SQLite 3.18.0.

Clemens Ladisch
Daniel Polski wrote:
> Can using "PRAGMA optimize" in one thread create a situation where
> "BEGIN IMMEDIATE TRANSACTION" in another thread fails?

While the optimization is done, the database is locked, just as with
any other transaction that does writes.  So any other thread has to use
a timeout.

> Is there any risk of "optimization fighting" if several threads are
> using the same database but with different work load?

At the moment, it only runs ANALYZE, which (in theory) never hurts.

The documentation says that in the future, it will "record usage and
performance information from the current session in the database file so
that it will be available to "optimize" pragmas run by future database
connections."  So it will not matter which connection runs the PRAGMA.


Regards,
Clemens
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Loading...