/ Check-in [824dde7f]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:SQLite has long accepted some unadvertised and non-standard join syntax. Add a test to ensure that future versions continue to accept this non-standard syntax, to avoid breaking legacy applications that use the undefined syntax.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 824dde7fc48dbca6d6c956c4eb79bbfa2d139ee5
User & Date: drh 2014-07-18 17:39:48
Context
2014-07-18
19:06
Improved documentation for checkpoints and the busy handler. No changes to code. check-in: ca92c024 user: drh tags: trunk
17:39
SQLite has long accepted some unadvertised and non-standard join syntax. Add a test to ensure that future versions continue to accept this non-standard syntax, to avoid breaking legacy applications that use the undefined syntax. check-in: 824dde7f user: drh tags: trunk
14:43
Improvements to the ".fullschema" command in the command-line shell. check-in: fa80c64c user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to test/join.test.

    31     31       CREATE TABLE t2(b,c,d);
    32     32       INSERT INTO t2 VALUES(1,2,3);
    33     33       INSERT INTO t2 VALUES(2,3,4);
    34     34       INSERT INTO t2 VALUES(3,4,5);
    35     35       SELECT * FROM t2;
    36     36     }  
    37     37   } {1 2 3 2 3 4 3 4 5}
           38  +
           39  +# A FROM clause of the form:  "<table>, <table> ON <expr>" is not
           40  +# allowed by the SQLite syntax diagram, nor by any other SQL database
           41  +# engine that we are aware of.  Nevertheless, historic versions of
           42  +# SQLite have allowed it.  We need to continue to support it moving
           43  +# forward to prevent breakage of legacy applications.  Though, we will
           44  +# not advertise it as being supported.
           45  +#
           46  +do_execsql_test join-1.2.1 {
           47  +  SELECT t1.rowid, t2.rowid, '|' FROM t1, t2 ON t1.a=t2.b;
           48  +} {1 1 | 2 2 | 3 3 |}
    38     49   
    39     50   do_test join-1.3 {
    40     51     execsql2 {
    41     52       SELECT * FROM t1 NATURAL JOIN t2;
    42     53     }
    43     54   } {a 1 b 2 c 3 d 4 a 2 b 3 c 4 d 5}
    44     55   do_test join-1.3.1 {