2009/11/7 Kristoffer Danielsson <kristoffer.daniels...@live.se>:
>
> Using SQLite 3.6.20 (SQLITE_ENABLE_STAT2=1).
>
> PRAGMA foreign_keys=OFF;
>
> BEGIN TRANSACTION;
>
> CREATE TABLE Test
> (
>  TestID INTEGER PRIMARY KEY,
>  T1 INTEGER NOT NULL,
>  T2 INTEGER NOT NULL,
>  T3 INTEGER NOT NULL,
>  T4 INTEGER NOT NULL,
>  T5 INTEGER NOT NULL,
>  T6 INTEGER NOT NULL,
>  T7 INTEGER NOT NULL,
>  DT DATE NOT NULL,
>  T8 INTEGER NOT NULL,
>  T9 INTEGER NOT NULL,
>  T10 INTEGER NOT NULL,
>  T11 INTEGER NOT NULL,
>
>  UNIQUE (T2, T1)
> );
>
> -- Fill with random data!
>
> COMMIT TRANSACTION;
>
>
> SELECT COUNT(*) FROM Test; -- Blistering fast!
>
> SELECT COUNT(*) FROM Test NATURAL JOIN Test; -- "Never" terminates
>
> I have over 50,000 entries...

I used 10,000 entries, and it returned in a few seconds... (using 3.6.19)

But there does appear to be a problem:

sqlite> CREATE TABLE Test1
   ...> (
   ...>  T1 INTEGER NOT NULL,
   ...>  T2 INTEGER NOT NULL
   ...> );
sqlite>
sqlite> CREATE TABLE Test2
   ...> (
   ...>  T1 INTEGER NOT NULL,
   ...>  T2 INTEGER NOT NULL
   ...> );
sqlite>
sqlite> insert into test1 values( 1, 1 );
sqlite> insert into test1 values( 2, 2 );
sqlite> insert into test1 values( 3, 3 );
sqlite> insert into test1 values( 4, 4 );
sqlite> insert into test1 values( 5, 5 );
sqlite> insert into test1 values( 6, 6 );
sqlite> insert into test1 values( 7, 7 );
sqlite> insert into test1 values( 8, 8 );
sqlite> insert into test1 values( 9, 9 );
sqlite> insert into test1 values( 10, 10 );
sqlite>
sqlite> insert into test2 values( 1, 1 );
sqlite> insert into test2 values( 2, 2 );
sqlite> insert into test2 values( 3, 3 );
sqlite> insert into test2 values( 4, 4 );
sqlite> insert into test2 values( 5, 5 );
sqlite> insert into test2 values( 6, 6 );
sqlite> insert into test2 values( 7, 7 );
sqlite> insert into test2 values( 8, 8 );
sqlite> insert into test2 values( 9, 9 );
sqlite> insert into test2 values( 10, 10 );
sqlite>
sqlite>
sqlite> select count(*) from test1 natural join test2;
10
sqlite> select count(*) from test1 natural join test1;
100
sqlite> select count(*) from test1 as t1 natural join test1;
10
sqlite>

>
> Thanks.
>
>> From: danielk1...@gmail.com
>> To: sqlite-users@sqlite.org
>> Date: Sat, 7 Nov 2009 11:36:52 +0700
>> Subject: Re: [sqlite] 3.6.20 NATURAL self-join still not fixed
>>

Regards,
Simon
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to