From: dan Date: Mon, 8 Jun 2026 10:47:55 +0000 (+0000) Subject: Add extra tests to check that non-deterministic functions may not be used in indexes. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2bc3763ec5267c85490f79aa66016be5bf9a90d5;p=thirdparty%2Fsqlite.git Add extra tests to check that non-deterministic functions may not be used in indexes. FossilOrigin-Name: beeef9dc2b1d778ca628c5e3adc097778646933233ea5ea4f03d2cace0199c17 --- diff --git a/manifest b/manifest index 7fa6960525..357c8f6f45 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Improvements\sto\sthe\sGCC\scompiler\sbug\swork-around\sof\scheck-in\s[7fae321095ebec77]. -D 2026-06-06T18:32:53.538 +C Add\sextra\stests\sto\scheck\sthat\snon-deterministic\sfunctions\smay\snot\sbe\sused\sin\sindexes. +D 2026-06-08T10:47:55.530 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -1307,7 +1307,7 @@ F test/index8.test caa097735c91dbc23d8a402f5e63a2a03c83840ba3928733ed7f9a03f8a91 F test/index9.test 2ac891806a4136ef3e91280477e23114e67575207dc331e6797fa0ed9379f997 F test/indexA.test 11d84f6995e6e5b9d8315953fb1b6d29772ee7c7803ee9112715e7e4dd3e4974 F test/indexedby.test 444fb04ce0b21a3daf79f84e6735b49e5a5b3396623b37df5431eb09c8b8f557 -F test/indexexpr1.test 830fec7ce07102f8e065f9486fa51d733f7443173f66c084d36232fa1628e635 +F test/indexexpr1.test e1e6a851d1054fa4fa43b60ad51f350519fabe756e313bc687af430a1efbff6e F test/indexexpr2.test 1c382e81ef996d8ae8b834a74f2a9013dddf59214c32201d7c8a656d739f999a F test/indexexpr3.test 47b91bc7999805c9a34d356f672259bc49295ecc797448511cae554a309b47cd F test/indexfault.test 98d78a8ff1f5335628b62f886a1cb7c7dac1ef6d48fa39c51ec871c87dce9811 @@ -2208,9 +2208,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c -P 2800f6a75bbb6ddc86f2e029a7d36ff08febe03812302fb7931eb68da316f74d 2f95186ea568b27d45bd19fca1e03b878afb0b1ea0938875897c7323bdeab8a2 -R 8872851ba0239a106cbb2ee2a83a8b25 -T +closed 2f95186ea568b27d45bd19fca1e03b878afb0b1ea0938875897c7323bdeab8a2 -U drh -Z 5713aef36d5e014136e71048c2e27e2e +P 247894f70d8616cb16468025809513a7db70086d24d2a289b50b4e8d9e073eb4 +R e9d4fdac57c1b9c1b5d72a10be9ad79b +U dan +Z 7199afe0713cac637245ea3c99b16963 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 17d26417d4..25859e8e7d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -247894f70d8616cb16468025809513a7db70086d24d2a289b50b4e8d9e073eb4 +beeef9dc2b1d778ca628c5e3adc097778646933233ea5ea4f03d2cace0199c17 diff --git a/test/indexexpr1.test b/test/indexexpr1.test index e3d358704d..7c5740e7cf 100644 --- a/test/indexexpr1.test +++ b/test/indexexpr1.test @@ -686,4 +686,24 @@ do_execsql_test indexexpr1-2300 { SELECT json_insert('{}', '$.a', json(y)) FROM t1; } {{{"a":{"b":5}}}} +#------------------------------------------------------------------------- +reset_db +proc addone {n} { + return $n+1 +} +db func addone addone + +do_execsql_test indexexpr1-2400 { + CREATE TABLE t1(x, y); +} +do_catchsql_test indexexpr1-2310 { + CREATE INDEX i1 ON t1( (addone(x)) ); +} {1 {non-deterministic functions prohibited in index expressions}} +do_catchsql_test indexexpr1-2310 { + CREATE INDEX i2 ON t1( ~(addone(x)) ); +} {1 {non-deterministic functions prohibited in index expressions}} +do_catchsql_test indexexpr1-2310 { + CREATE INDEX i2 ON t1( ~(addone(DISTINCT x)) ); +} {1 {non-deterministic functions prohibited in index expressions}} + finish_test