]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix the new generate_series() to correctly deal with an explicit 0 as the step.
authordrh <>
Tue, 30 Sep 2025 17:12:39 +0000 (17:12 +0000)
committerdrh <>
Tue, 30 Sep 2025 17:12:39 +0000 (17:12 +0000)
FossilOrigin-Name: b059413c440d1b831c9a462f7165a350001ba7a8cc77ca2a0a8f2bb73c830aba

ext/misc/series.c
manifest
manifest.uuid
test/tabfunc01.test

index ddf754419a600c484267e747ec061356efb39015..ed4c0f0313fdcc09e8a356ac5ff7b3cd034cb6b0 100644 (file)
@@ -427,6 +427,7 @@ static int seriesFilter(
   }
   if( idxNum & 0x04 ){
     pCur->iOStep = sqlite3_value_int64(argv[iArg++]);
+    if( pCur->iOStep==0 ) pCur->iOStep = 1;
   }else{
     pCur->iOStep = 1;
   }
index abc5fdfe76dd2e64c82a2ea212a636154ba41f1d..53e898b14d4ec831ecaf7a259276bc89a8822375 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sanother\spotential\sbuffer\soverread\sin\sthe\szipfile\sextension.
-D 2025-09-30T11:17:40.625
+C Fix\sthe\snew\sgenerate_series()\sto\scorrectly\sdeal\swith\san\sexplicit\s0\sas\sthe\sstep.
+D 2025-09-30T17:12:39.243
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -393,7 +393,7 @@ F ext/misc/regexp.c 548151f3e57506fda678e6a65e85a763f4eece653287e1ad44e167f9485e
 F ext/misc/remember.c add730f0f7e7436cd15ea3fd6a90fd83c3f706ab44169f7f048438b7d6baa69c
 F ext/misc/rot13.c 51ac5f51e9d5fd811db58a9c23c628ad5f333c173f1fc53c8491a3603d38556c
 F ext/misc/scrub.c 2a44b0d44c69584c0580ad2553f6290a307a49df4668941d2812135bfb96a946
-F ext/misc/series.c 42f4d9acd8c497a147363dcd69208d09ba9173f448811ccfb8d26765394d3d25
+F ext/misc/series.c ef99bf94fbd039f021b1ea41f587655ef8c91645ff0a2f740ae62e0d9cb43bec
 F ext/misc/sha1.c cb5002148c2661b5946f34561701e9105e9d339b713ec8ac057fd888b196dcb9
 F ext/misc/shathree.c fd22d70620f86a0467acfdd3acd8435d5cb54eb1e2d9ff36ae44e389826993df
 F ext/misc/showauth.c 732578f0fe4ce42d577e1c86dc89dd14a006ab52
@@ -1678,7 +1678,7 @@ F test/sync.test a619e407ede58a7b6e3e44375328628559fc9695a9c24c47cb5690a866b0031
 F test/sync2.test 06152269ed73128782c450c355988fe8dd794d305833af75e1a5e79edd4dae47
 F test/syscall.test a067468b43b8cb2305e9f9fe414e5f40c875bb5d2cba5f00b8154396e95fcf37
 F test/sysfault.test c9f2b0d8d677558f74de750c75e12a5454719d04
-F test/tabfunc01.test be36fc7f6d221482216f7f1032d6a4595ac542cf427132f4728a65697830ab9c
+F test/tabfunc01.test de8b27fdc92d55ec7d416142b77101cb95f8099c446f43182a23cfb302000cc2
 F test/table.test e87294bf1c80bfd7792142b84ab32ea5beb4f3f71e535d7fb263a6b2068377bf
 F test/tableapi.test e37c33e6be2276e3a96bb54b00eea7f321277115d10e5b30fdb52a112b432750
 F test/tableopts.test dba698ba97251017b7c80d738c198d39ab747930
@@ -2169,8 +2169,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P f0dbd9d22f558dd002e2132381de3c82d55a670399b3e527b5962b025141676a
-R 03c7246cb86679cba7e1e177172ca761
-U dan
-Z bc4b5e983cf59dadaa265b2fa6f831d6
+P 0819fe670f9ceec79f84eb09c234dc29f6581332f86a53d6a0547697404efff1
+R 5563c3e5c48bb78fa03a6744116a0f20
+U drh
+Z 9ca702f5644d1ec16b146940a08491ac
 # Remove this line to create a well-formed Fossil manifest.
index b2f3ac63e5ef12cb36d8202bf1add694b4369442..c024037073c7aeb1a1c19446f9484951272ad71d 100644 (file)
@@ -1 +1 @@
-0819fe670f9ceec79f84eb09c234dc29f6581332f86a53d6a0547697404efff1
+b059413c440d1b831c9a462f7165a350001ba7a8cc77ca2a0a8f2bb73c830aba
index 95aff925fc021872d45e318e97c185c37469d44b..177eb7495b5564a1763d46c5428829dea56880db 100644 (file)
@@ -664,6 +664,10 @@ do_execsql_test 1364 {
    ORDER BY value ASC LIMIT 10 OFFSET 40000000;
 } {}
 
+do_execsql_test 1370 {
+  SELECT * FROM generate_series(0,0,0);
+} {}
+
 
 
 # Free up memory allocations