I dug a little more into this with a debug build; was able to get the
same crash trace with the slightly smaller query
CREATE TABLE t(a);
SELECT 1, 1
UNION ALL
SELECT a, RANK() OVER (ORDER BY a) FROM t;
which fails the pTab!=0 assertion in sqlite3ColumnsFromExprList.
It seems like you need to have a window function and a column from t in
the second SELECT to trigger the error; e.g. having 1, RANK()... there
won't do it.
- David
On Monday, October 22, 2018 3:13:12 PM CDT Peter Ďurica wrote:
> Table with sample data:
> *create table t(a int, b int);*
> *insert into t values(1,11);*
> *insert into t values(2,12);*
>
> now query using any window function (row_number, rank, ....) after UNION or
> UNION ALL will cause sqlite.exe crash (no regular error)
>
> for example:
> *select a, rank() over(order by b) from t *
> *union all *
> *select a, rank() over(order by b desc) from t;*
> WILL CRASH
>
> but single statement is fine
>
> *select a, rank() over(order by b desc) from t; *
>
> and also window function just before union is fine
> *select a, rank() over(order by b) from t *
> *union all *
> *select a, b from t;*
>
>
> when I used e_sqlite3.dll (https://github.com/ericsink/SQLitePCL.raw) from
> my c# app, I got error below
> Exception thrown at 0x00007FFF563BF797 (e_sqlite3.dll) in WebLES.exe:
> 0xC0000005: Access violation reading location 0x0000000000000008.
>
> I believe it's a bug in core sqlite, which should be fixed
>
> Please let me know how it goes
>
> Thanks in advacne,
> Peter Ďurica
> _______________________________________________
> sqlite-users mailing list
> [email protected]
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users