[sqlite] Assertion `pC!=0' failed.

2019-12-31 Thread Yongheng Chen
Hi, We found an assertion failed in sqlite. Here’s the POC: — CREATE TABLE v0 ( v1 INTEGER PRIMARY KEY ON CONFLICT ROLLBACK NOT NULL ON CONFLICT IGNORE , v2 FLOAT AS( 'BUILDING' ) CHECK( 10 ) CHECK( v2 NOT LIKE 'MED BAG' ) NOT NULL UNIQUE ) ; INSERT INTO v0 VALUES ( 10 ) ; SELECT * FROM v0 JOIN

[sqlite] Assertion `pWalker->eCode==0' failed.

2019-12-31 Thread Yongheng Chen
Hi, We found an assertion failed in sqlite. Here’s the POC: — CREATE TABLE v0 ( v1 INT , v2 INT ) ; CREATE TABLE v3 ( v4 DOUBLE PRIMARY KEY UNIQUE NOT NULL ) ; SELECT * FROM v3 LEFT JOIN v0 ON v1 = 10 WHERE ( v2 < 10 AND v1 = 10 ) > ( v2 < 0 AND v1 > 10 AND ( v1 = 10 AND 10 ) ) ORDER BY v1 DESC

[sqlite] Crash Bug In sqlite

2019-12-31 Thread Yongheng Chen
Hi, We found a crash bug in sqlite. Here’s the POC: — CREATE VIRTUAL TABLE v0 USING fts4 ( v1 , v2 , v3 , v4 ) ; INSERT INTO v0 ( v1 ) VALUES ( 10 ) ,( 10 ) ; CREATE TABLE v5 ( v6 UNIQUE NOT NULL PRIMARY KEY UNIQUE ) ; INSERT INTO v5 ( v6 , v6 ) SELECT nullif ( DISTINCT zeroblob ( julianday ()

Re: [sqlite] Causal profiling

2019-12-31 Thread Jens Alfke
> On Dec 31, 2019, at 7:03 AM, Richard Damon wrote: > > 1) The C API between separate compilations is very well established, and > fully documented in most environments. Agreed. APIs between library boundaries generally need to be C. This is pretty easy to do though (I've done it multiple

Re: [sqlite] 18 minutes 41 seconds

2019-12-31 Thread Ned Fleming
On 2019-12-30 18:13, Richard Hipp wrote: That's the total elapse time from me checking in a bug (check-in https://www.sqlite.org/src/info/40d10e7aad5b8992) until Manuel Rigger's fuzzer had located the bug and issued a ticket against it: (ticket https://www.sqlite.org/src/info/892575cdba4e1e36).

Re: [sqlite] Sanitising user input for FTS5 MATCH parameter

2019-12-31 Thread test user
Thanks for the details Dan On Sat, 21 Dec 2019 at 18:40, Dan Kennedy wrote: > > On 20/12/62 22:03, test user wrote: > > Hello, > > > > I have a search box on a website that uses FTS5/MATCH. > > > > MATCH seems to take its own custom language for matching. > > > > 1. Is it safe to just pass the

Re: [sqlite] Causal profiling

2019-12-31 Thread Simon Slavin
On 31 Dec 2019, at 3:03pm, Richard Damon wrote: > I will give a short answer, in my opinion, of a few reasons on why C is still > a viable language. 5) SQLite has to work on your set top box. On your Wifi base station. On your Home hub. On the machine that runs the car park. All these

Re: [sqlite] Causal profiling

2019-12-31 Thread Richard Damon
On 12/31/19 3:13 AM, Jens Alfke wrote: On Dec 30, 2019, at 6:23 PM, Alexander Vega wrote: -fdevirtualize -fdevirtualize-speculatively I believe those are C++ optimizations, specific to C++ virtual methods. What SQLite is doing is similar to a class with virtual methods, but done “by hand”

Re: [sqlite] sqlite3VdbeMemAboutToChange(Vdbe *, Mem *): Assertion `(mFlags_Str)==0 || (pMem->n==pX->n && pMem->z==pX->z)' failed.

2019-12-31 Thread Jose Isaias Cabrera
Richard Hipp, on Tuesday, December 31, 2019 08:33 AM, wrote... > > On 12/31/19, Jose Isaias Cabrera wrote: > > > > I don't know what "This bug affects debug builds...", > > This is yet another fault not in SQLite itself, but in the auxiliary > VM register tracking logic that we use during

Re: [sqlite] sqlite3VdbeMemAboutToChange(Vdbe *, Mem *): Assertion `(mFlags_Str)==0 || (pMem->n==pX->n && pMem->z==pX->z)' failed.

2019-12-31 Thread Richard Hipp
On 12/31/19, Jose Isaias Cabrera wrote: > > I don't know what "This bug affects debug builds...", This is yet another fault not in SQLite itself, but in the auxiliary VM register tracking logic that we use during testing and debugging. Hence, it only comes up if you compile with -DSQLITE_DEBUG.

Re: [sqlite] 18 minutes 41 seconds

2019-12-31 Thread Jose Isaias Cabrera
Indeed! Thanks Dr. Hipp and the rest of the team for such a wonderful, and easy, and light, and robust, and... product. josé From: sqlite-users on behalf of Manuel Rigger Sent: Tuesday, December 31, 2019 05:15 AM To: SQLite mailing list Subject: Re:

Re: [sqlite] sqlite3VdbeMemAboutToChange(Vdbe *, Mem *): Assertion `(mFlags_Str)==0 || (pMem->n==pX->n && pMem->z==pX->z)' failed.

2019-12-31 Thread Jose Isaias Cabrera
Yongheng Chen, on Tuesday, December 31, 2019 03:21 AM, wrote... > > Hi, > > We found a debug assertion bug in sqlite. Here’s the PoC: > — > CREATE TABLE v0 ( v1 , v2 FLOAT ) ; > CREATE TRIGGER x AFTER INSERT ON v0 > BEGIN > INSERT INTO v0 SELECT DISTINCT v2 / 10 , v2 / 1 FROM v0 ; > END; >

Re: [sqlite] Sanitizing module arguments in virtual table create statement

2019-12-31 Thread Richard Hipp
On 12/31/19, David Jones wrote: > Even though my example used the zipfile module, I want to handle the general > case. The virtual table mechanism passes the xCreate method of the virtual table whatever text you enter. It is up to the virtual table itself to interpret that text however it

Re: [sqlite] SQL help

2019-12-31 Thread Jose Isaias Cabrera
True that. ;-) From: sqlite-users on behalf of x Sent: Tuesday, December 31, 2019 03:15 AM To: SQLite mailing list Subject: Re: [sqlite] SQL help LOL. English isnae oor furst language either. Ye ken whit a mean.  From:

[sqlite] Sanitizing module arguments in virtual table create statement

2019-12-31 Thread David Jones
My application naively tried preparing the statement: “CREATE VIRTUAL TABLE xxx USING zipfile(?1);” and binding the name of the zip file, supplied by user, to parameter 1 for execution. This doesn’t work, and the documention reveals that this is by design. I therefore have to expand the

Re: [sqlite] 18 minutes 41 seconds

2019-12-31 Thread Manuel Rigger
Thanks for all your great work, Richard and Dan! Among all DBMS that we have been testing, we have put most of our effort and energy into testing SQLite. The reason for that is that you were by far the most responsive to our bug reports, and typically address bugs immediately after we find them!

[sqlite] sqlite3VdbeMemAboutToChange(Vdbe *, Mem *): Assertion `(mFlags_Str)==0 || (pMem->n==pX->n && pMem->z==pX->z)' failed.

2019-12-31 Thread Yongheng Chen
Hi, We found a debug assertion bug in sqlite. Here’s the PoC: — CREATE TABLE v0 ( v1 , v2 FLOAT ) ; CREATE TRIGGER x AFTER INSERT ON v0 BEGIN INSERT INTO v0 SELECT DISTINCT v2 / 10 , v2 / 1 FROM v0 ; END; INSERT INTO v0 ( v1 , v1 ) VALUES ( '' , 10 ) ,( '' , 0 ) ,( 'AIR' , 10 ); UPDATE v0 SET

Re: [sqlite] SQL help

2019-12-31 Thread x
LOL. English isnae oor furst language either. Ye ken whit a mean.  From: sqlite-users on behalf of Jose Isaias Cabrera Sent: Monday, December 30, 2019 9:50:22 PM To: sqlite-users@mailinglists.sqlite.org Subject: Re: [sqlite] SQL help x, on Saturday,

Re: [sqlite] Causal profiling

2019-12-31 Thread Jens Alfke
> On Dec 30, 2019, at 6:23 PM, Alexander Vega wrote: > > -fdevirtualize > -fdevirtualize-speculatively I believe those are C++ optimizations, specific to C++ virtual methods. What SQLite is doing is similar to a class with virtual methods, but done “by hand” in plain C, so the optimizer