diff --git a/ext/misc/percentile.c b/ext/misc/percentile.c index d23055fd75..3d9ad89193 100644 --- a/ext/misc/percentile.c +++ b/ext/misc/percentile.c @@ -82,7 +82,7 @@ ** ** The SQLite syntax is much more compact. The standard SQL syntax ** is also supported if SQLite is compiled with the -** -DSQLITE_ENABLE_ORDERED_SET_FUNCS option. +** -DSQLITE_ENABLE_ORDERED_SET_AGGREGATES option. ** ** * No median(X) function exists in the SQL standard. App developers ** are expected to write "percentile_cont(0.5)WITHIN GROUP(ORDER BY X)". diff --git a/manifest b/manifest index 52744e92b1..302b6b6106 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C More\sinternal\sdocumentation\simprovements. -D 2024-09-01T23:56:14.104 +C Change\sthe\sname\sof\sthe\senabling\scompile-time\smacro\sto\nSQLITE_ENABLE_ORDERED_SET_AGGREGATES. +D 2024-09-02T09:40:37.769 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -410,7 +410,7 @@ F ext/misc/nextchar.c 7877914c2a80c2f181dd04c3dbef550dfb54c93495dc03da2403b5dd58 F ext/misc/noop.c f1a21cc9b7a4e667e5c8458d80ba680b8bd4315a003f256006046879f679c5a0 F ext/misc/normalize.c bd84355c118e297522aba74de34a4fd286fc775524e0499b14473918d09ea61f F ext/misc/pcachetrace.c f4227ce03fb16aa8d6f321b72dd051097419d7a028a9853af048bee7645cb405 -F ext/misc/percentile.c 0a7d3e9ddff3aeb9ce4cd6b8a27291ace34d5976689f4f7481e28666cd1ccf63 +F ext/misc/percentile.c b9b06a30882fb588161db3d558fb0bc48a0ae84b2b76471baf19e48b438cfe77 F ext/misc/prefixes.c 82645f79229877afab08c8b08ca1e7fa31921280906b90a61c294e4f540cd2a6 F ext/misc/qpvtab.c fc189e127f68f791af90a487f4460ec91539a716daf45a0c357e963fd47cc06c F ext/misc/randomjson.c ef835fc64289e76ac4873b85fe12f9463a036168d7683cf2b773e36e6262c4ed @@ -710,7 +710,7 @@ F src/btreeInt.h 98aadb6dcb77b012cab2574d6a728fad56b337fc946839b9898c4b4c969e30b F src/build.c 3a1840d9d171ce2d24f4c1f7acda7266ab796c664290c1acba65ff98ce2bd01e F src/callback.c db3a45e376deff6a16c0058163fe0ae2b73a2945f3f408ca32cf74960b28d490 F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e -F src/ctime.c c130635c99df1fcd1212613230d4f326ca3adb6982bfdb92e224a831e188b0ce +F src/ctime.c b224d3db0f28c4a5f1407c50107a0a8133bd244ff3c7f6f8cedeb896a8cf1b64 F src/date.c 89ce1ff20512a7fa5070ba6e7dd5c171148ca7d580955795bf97c79c2456144a F src/dbpage.c 80e46e1df623ec40486da7a5086cb723b0275a6e2a7b01d9f9b5da0f04ba2782 F src/dbstat.c 73362c0df0f40ad5523a6f5501224959d0976757b511299bf892313e79d14f5c @@ -754,7 +754,7 @@ F src/os_win.c 6ff43bac175bd9ed79e7c0f96840b139f2f51d01689a638fd05128becf94908a F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a F src/pager.c b08600ebf0db90b6d1e9b8b6577c6fa3877cbe1a100bd0b2899e4c6e9adad4b3 F src/pager.h 4b1140d691860de0be1347474c51fee07d5420bd7f802d38cbab8ea4ab9f538a -F src/parse.y 5a15f76ee1e215cd1db9741685f94768a94fbe8b4b160c6211cd996194b996d2 +F src/parse.y c168522b4929c84e11577d61f8f61c998127a5032203e8c386cb8621fe158ee0 F src/pcache.c 588cc3c5ccaaadde689ed35ce5c5c891a1f7b1f4d1f56f6cf0143b74d8ee6484 F src/pcache.h 1497ce1b823cf00094bb0cf3bac37b345937e6f910890c626b16512316d3abf5 F src/pcache1.c 49516ad7718a3626f28f710fa7448ef1fce3c07fd169acbb4817341950264319 @@ -767,7 +767,7 @@ F src/resolve.c 2c127880c0634962837f16f2f48a295e514357af959330cc038de73015d5b5e8 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97 F src/select.c 4b14337a2742f0c0beeba490e9a05507e9b4b12184b9cd12773501d08d48e3fe F src/shell.c.in 40de636c1d90fb8a9ca7f49dc8f50d930f1b60736e73aca5eb37c4c7d0e47f9d -F src/sqlite.h.in 42c48f4f78a18580de594208ac48fda6ea8f0c68810e059ae502329017c55f98 +F src/sqlite.h.in 77f55bd1978a04a14db211732f0a609077cf60ba4ccf9baf39988f508945419c F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h 3f046c04ea3595d6bfda99b781926b17e672fd6d27da2ba6d8d8fc39981dcb54 F src/sqliteInt.h 889cd632f4386bbd8619b166abb7d25f1c8ce6514e90cb7f22f63bd530fc6107 @@ -790,7 +790,7 @@ F src/test_backup.c bd901e3c116c7f3b3bbbd4aae4ce87d99b400c9cbb0a9e7b4610af451d97 F src/test_bestindex.c 3401bee51665cbf7f9ed2552b5795452a8b86365e4c9ece745b54155a55670c6 F src/test_blob.c bcdf6a6c22d0bcc13c41479d63692ef413add2a4d30e1e26b9f74ab85b9fb4d5 F src/test_btree.c 28283787d32b8fa953eb77412ad0de2c9895260e4e5bd5a94b3c7411664f90d5 -F src/test_config.c 31846473de1803736ab0e4423424173357b6c3e2bc8cae93fea6d01a4c441c04 +F src/test_config.c 345b8e383f71cecc36d0fa05f2f06639c254b188f98101c3c97749df43037086 F src/test_delete.c e2fe07646dff6300b48d49b2fee2fe192ed389e834dd635e3b3bac0ce0bf9f8f F src/test_demovfs.c 3efa2adf4f21e10d95521721687d5ca047aea91fa62dd8cc22ac9e5a9c942383 F src/test_devsym.c 649434ed34d0b03fbd5a6b42df80f0f9a7e53f94dd1710aad5dd8831e91c4e86 @@ -1715,7 +1715,7 @@ F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637 F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc F test/tester.tcl 2c203a2dd664298f239f0ec3ce22fbc65b5f021c1e09edbae8452af8a694e052 F test/testrunner.tcl 662af46f1f0a41eb197f17583698853dd130ff3d47cf136dd519c3aecd9a9d7d -F test/testrunner_data.tcl 0cdd2d71d2fef65ef1ef72709336cbb229580f12e8deb3cbc55c3af971256ccc +F test/testrunner_data.tcl d64e69aba227492fc459eb0f6a88c3e1b252bd9323847b7e8bcf5e1faa358714 F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899 F test/thread002.test c24c83408e35ba5a952a3638b7ac03ccdf1ce4409289c54a050ac4c5f1de7502 F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7 @@ -2131,8 +2131,8 @@ F tool/max-limits.c cbb635fbb37ae4d05f240bfb5b5270bb63c54439 F tool/merge-test.tcl de76b62f2de2a92d4c1ca4f976bce0aea6899e0229e250479b229b2a1914b176 F tool/mkautoconfamal.sh cbdcf993fa83dccbef7fb77b39cdeb31ef9f77d9d88c9e343b58d35ca3898a6a F tool/mkccode.tcl 86463e68ce9c15d3041610fedd285ce32a5cf7a58fc88b3202b8b76837650dbe x -F tool/mkctimec.tcl 643f691143c4ad45d8c743538d1303fa5e78f9b164db4eef6a4e818fa34b5518 x -F tool/mkkeywordhash.c 2f1c62255f5866d85e8d39efaa9ef88216cac4bd3d20e0b971c4bac42c79adc4 +F tool/mkctimec.tcl e3af51acc2ef92062fe6d622de010a27a34b497258a248dada04388b916c61c6 x +F tool/mkkeywordhash.c 6b0be901c47f9ad42215fc995eb2f4384ac49213b1fba395102ec3e999acf559 F tool/mkmsvcmin.tcl d76c45efda1cce2d4005bcea7b8a22bb752e3256009f331120fb4fecb14ebb7a F tool/mkopcodec.tcl 33d20791e191df43209b77d37f0ff0904620b28465cca6990cf8d60da61a07ef F tool/mkopcodeh.tcl 2b4e6967a670ef21bf53a164964c35c6163277d002a4c6f56fa231d68c88d023 @@ -2211,8 +2211,8 @@ F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 51e7b4c9cf19a5986432a76c5fd30cef715c170a403d7b4304a8c5888c445a91 -R bfc4e614787c482acd37bc365c967d35 +P 8b91b74931c36e1955ef933a07d8ec40c8b54c882efe7084d179168867c5244f +R 87b66cdb033da0a37b7575ccb3ae22cb U drh -Z 004df0b11de984975db126394a0a1e5e +Z d0d824ad26699ac4f4773aa97bb7dc96 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 384da0da19..ef8888d75b 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -8b91b74931c36e1955ef933a07d8ec40c8b54c882efe7084d179168867c5244f +3b1cdddf8339cc339ec74cd8be2bfa42e62b500048a444eb9e5d9817bc4702ae diff --git a/src/ctime.c b/src/ctime.c index 486b29a26b..fe7849fec7 100644 --- a/src/ctime.c +++ b/src/ctime.c @@ -295,8 +295,8 @@ static const char * const sqlite3azCompileOpt[] = { #ifdef SQLITE_ENABLE_OFFSET_SQL_FUNC "ENABLE_OFFSET_SQL_FUNC", #endif -#ifdef SQLITE_ENABLE_ORDERED_SET_FUNCS - "ENABLE_ORDERED_SET_FUNCS", +#ifdef SQLITE_ENABLE_ORDERED_SET_AGGREGATES + "ENABLE_ORDERED_SET_AGGREGATES", #endif #ifdef SQLITE_ENABLE_OVERSIZE_CELL_CHECK "ENABLE_OVERSIZE_CELL_CHECK", diff --git a/src/parse.y b/src/parse.y index 138a41d300..8ff2326202 100644 --- a/src/parse.y +++ b/src/parse.y @@ -264,9 +264,9 @@ columnname(A) ::= nm(A) typetoken(Y). {sqlite3AddColumn(pParse,A,Y);} CURRENT FOLLOWING PARTITION PRECEDING RANGE UNBOUNDED EXCLUDE GROUPS OTHERS TIES %endif SQLITE_OMIT_WINDOWFUNC -%ifdef SQLITE_ENABLE_ORDERED_SET_FUNCS +%ifdef SQLITE_ENABLE_ORDERED_SET_AGGREGATES WITHIN -%endif SQLITE_ENABLE_ORDERED_SET_FUNCS +%endif SQLITE_ENABLE_ORDERED_SET_AGGREGATES %ifndef SQLITE_OMIT_GENERATED_COLUMNS GENERATED ALWAYS %endif @@ -1182,7 +1182,7 @@ expr(A) ::= idj(X) LP STAR RP. { A = sqlite3ExprFunction(pParse, 0, &X, 0); } -%ifdef SQLITE_ENABLE_ORDERED_SET_FUNCS +%ifdef SQLITE_ENABLE_ORDERED_SET_AGGREGATES %include { /* Generate an expression node that represents an ordered-set aggregate function. ** @@ -1239,7 +1239,7 @@ expr(A) ::= idj(X) LP STAR RP. { expr(A) ::= idj(X) LP distinct(D) exprlist(Y) RP WITHIN GROUP LP ORDER BY expr(E) RP. { A = sqlite3ExprAddOrderedsetFunction(pParse, &X, D, Y, E); } -%endif SQLITE_ENABLE_ORDERED_SET_FUNCS +%endif SQLITE_ENABLE_ORDERED_SET_AGGREGATES %ifndef SQLITE_OMIT_WINDOWFUNC expr(A) ::= idj(X) LP distinct(D) exprlist(Y) RP filter_over(Z). { @@ -1255,13 +1255,13 @@ expr(A) ::= idj(X) LP STAR RP filter_over(Z). { A = sqlite3ExprFunction(pParse, 0, &X, 0); sqlite3WindowAttach(pParse, A, Z); } -%ifdef SQLITE_ENABLE_ORDERED_SET_FUNCS +%ifdef SQLITE_ENABLE_ORDERED_SET_AGGREGATES expr(A) ::= idj(X) LP distinct(D) exprlist(Y) RP WITHIN GROUP LP ORDER BY expr(E) RP filter_over(Z). { A = sqlite3ExprAddOrderedsetFunction(pParse, &X, D, Y, E); sqlite3WindowAttach(pParse, A, Z); } -%endif SQLITE_ENABLE_ORDERED_SET_FUNCS +%endif SQLITE_ENABLE_ORDERED_SET_AGGREGATES %endif SQLITE_OMIT_WINDOWFUNC diff --git a/src/sqlite.h.in b/src/sqlite.h.in index b211299e6d..5546793c94 100644 --- a/src/sqlite.h.in +++ b/src/sqlite.h.in @@ -5623,7 +5623,7 @@ int sqlite3_create_window_function( ** used to invoke this function. If the ordered-set aggregate notation is ** used on a function that lacks this flag, then an error is raised. Note ** that the ordered-set aggregate syntax is only available if SQLite is -** built using the -DSQLITE_ENABLE_ORDERED_SET_FUNCS compile-time option. +** built using the -DSQLITE_ENABLE_ORDERED_SET_AGGREGATES compile-time option. ** ** */ diff --git a/src/test_config.c b/src/test_config.c index c4f06b7cac..49527861a4 100644 --- a/src/test_config.c +++ b/src/test_config.c @@ -189,6 +189,14 @@ static void set_options(Tcl_Interp *interp){ Tcl_SetVar2(interp, "sqlite_options", "offset_sql_func","0",TCL_GLOBAL_ONLY); #endif +#ifdef SQLITE_ENABLE_ORDERED_SET_AGGREGATES + Tcl_SetVar2(interp, "sqlite_options", + "ordered_set_aggregates","1",TCL_GLOBAL_ONLY); +#else + Tcl_SetVar2(interp, "sqlite_options", + "ordered_set_aggregates","0",TCL_GLOBAL_ONLY); +#endif + #ifdef SQLITE_ENABLE_PREUPDATE_HOOK Tcl_SetVar2(interp, "sqlite_options", "preupdate", "1", TCL_GLOBAL_ONLY); #else diff --git a/test/testrunner_data.tcl b/test/testrunner_data.tcl index 10f9262563..f9a23063cb 100644 --- a/test/testrunner_data.tcl +++ b/test/testrunner_data.tcl @@ -95,7 +95,7 @@ namespace eval trd { # set build(All-Debug) { --enable-debug --enable-all - -DSQLITE_ENABLE_ORDERED_SET_FUNCS + -DSQLITE_ENABLE_ORDERED_SET_AGGREGATES } set build(All-O0) { -O0 --enable-all diff --git a/tool/mkctimec.tcl b/tool/mkctimec.tcl index 90360cb204..a7e897a596 100755 --- a/tool/mkctimec.tcl +++ b/tool/mkctimec.tcl @@ -159,7 +159,7 @@ set boolean_defnil_options { SQLITE_ENABLE_MULTIPLEX SQLITE_ENABLE_NORMALIZE SQLITE_ENABLE_NULL_TRIM - SQLITE_ENABLE_ORDERED_SET_FUNCS + SQLITE_ENABLE_ORDERED_SET_AGGREGATES SQLITE_ENABLE_OFFSET_SQL_FUNC SQLITE_ENABLE_OVERSIZE_CELL_CHECK SQLITE_ENABLE_PREUPDATE_HOOK diff --git a/tool/mkkeywordhash.c b/tool/mkkeywordhash.c index bf4b0c32d3..188c0a29ac 100644 --- a/tool/mkkeywordhash.c +++ b/tool/mkkeywordhash.c @@ -164,7 +164,7 @@ struct Keyword { #else # define RETURNING 0x00400000 #endif -#ifndef SQLITE_ENABLE_ORDERED_SET_FUNCS +#ifndef SQLITE_ENABLE_ORDERED_SET_AGGREGATES # define ORDERSET 0 #else # define ORDERSET 0x00800000