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.

FossilOrigin-Name: 824dde7fc48dbca6d6c956c4eb79bbfa2d139ee5
This commit is contained in:
drh 2014-07-18 17:39:48 +00:00
parent 56f674c8a0
commit 71607c77c8
3 changed files with 18 additions and 7 deletions

View File

@ -1,5 +1,5 @@
C Improvements\sto\sthe\s".fullschema"\scommand\sin\sthe\scommand-line\sshell.
D 2014-07-18T14:43:29.403
C SQLite\shas\slong\saccepted\ssome\sunadvertised\sand\snon-standard\sjoin\ssyntax.\nAdd\sa\stest\sto\sensure\sthat\sfuture\sversions\scontinue\sto\saccept\sthis\snon-standard\nsyntax,\sto\savoid\sbreaking\slegacy\sapplications\sthat\suse\sthe\sundefined\ssyntax.
D 2014-07-18T17:39:48.053
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 1732320ecac3fee229d560d7ef2afa34681d1815
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@ -643,7 +643,7 @@ F test/ioerr3.test d3cec5e1a11ad6d27527d0d38573fbff14c71bdd
F test/ioerr4.test f130fe9e71008577b342b8874d52984bd04ede2c
F test/ioerr5.test 2edfa4fb0f896f733071303b42224df8bedd9da4
F test/ioerr6.test a395a6ab144b26a9e3e21059a1ab6a7149cca65b
F test/join.test 559b81eb56ae350246f9c25986aa52c81c725c7e
F test/join.test 52d4d49f86d0cf46926672878c4eaf0da399104a
F test/join2.test f2171c265e57ee298a27e57e7051d22962f9f324
F test/join3.test 6f0c774ff1ba0489e6c88a3e77b9d3528fb4fda0
F test/join4.test 1a352e4e267114444c29266ce79e941af5885916
@ -1182,7 +1182,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
P 1cec1e030035e5253fb7ebbdfe5c1a3029e4e29b
R 3a5c863b5d4e43cf3d99c01f25a09c91
P fa80c64caa573297bf43cb5b11d9e7db58567200
R 98a05e82af602a262cecfbef5a77de2c
U drh
Z f91dd8693f049cec144fbd0b43e0e92a
Z 99ce618698b83450b2fdb30e802ca3fb

View File

@ -1 +1 @@
fa80c64caa573297bf43cb5b11d9e7db58567200
824dde7fc48dbca6d6c956c4eb79bbfa2d139ee5

View File

@ -36,6 +36,17 @@ do_test join-1.2 {
}
} {1 2 3 2 3 4 3 4 5}
# A FROM clause of the form: "<table>, <table> ON <expr>" is not
# allowed by the SQLite syntax diagram, nor by any other SQL database
# engine that we are aware of. Nevertheless, historic versions of
# SQLite have allowed it. We need to continue to support it moving
# forward to prevent breakage of legacy applications. Though, we will
# not advertise it as being supported.
#
do_execsql_test join-1.2.1 {
SELECT t1.rowid, t2.rowid, '|' FROM t1, t2 ON t1.a=t2.b;
} {1 1 | 2 2 | 3 3 |}
do_test join-1.3 {
execsql2 {
SELECT * FROM t1 NATURAL JOIN t2;