Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch reuse-schema Excluding Merge-Ins
This is equivalent to a diff from 5508b56fd2 to 6e1f97d99b
2025-06-29
| ||
07:32 | Minor API doc typo fixes from brickviking. (check-in: c7cf9dcb69 user: stephan tags: trunk) | |
2025-06-28
| ||
17:59 | Improve the bytecode generated for comparisons so that if one operand is a subquery and the other operand evaluates to NULL, the subquery operand is not even computed. This fixes 5 of the 11 slow queries described in forum post 52651713ac. (check-in: f147bc0477 user: drh tags: optimize-null-values) | |
14:36 | Merge all the latest trunk fixes and enhancements into the reuse-schema branch. (Leaf check-in: 6e1f97d99b user: drh tags: reuse-schema) | |
14:24 | Merge the latest trunk enhancements into the wal2 branch. (Leaf check-in: e7867c3992 user: drh tags: wal2) | |
14:16 | Merge the latest trunk enhancements into the begin-concurrent branch. (Leaf check-in: 1ae8d60237 user: drh tags: begin-concurrent) | |
2025-06-27
| ||
19:56 | Raise an error right away if the number of aggregate terms in a query exceeds the maximum number of columns. (check-in: 4ae45291e6 user: drh tags: branch-3.50) | |
19:02 | Raise an error right away if the number of aggregate terms in a query exceeds the maximum number of columns. (check-in: 5508b56fd2 user: drh tags: trunk) | |
12:46 | API doc typo fixes and closing DD element tags from brickviking. (check-in: c9ddd15b01 user: stephan tags: trunk) | |
2025-05-29
| ||
14:59 | Update the reuse-schema branch to version 3.50.0 (check-in: 4b1a38ff6b user: drh tags: reuse-schema) | |
Changes to Makefile.msc.
︙ | |||
1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 | 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 | + | $(TOP)\src\test_mutex.c \ $(TOP)\src\test_onefile.c \ $(TOP)\src\test_osinst.c \ $(TOP)\src\test_pcache.c \ $(TOP)\src\test_quota.c \ $(TOP)\src\test_rtree.c \ $(TOP)\src\test_schema.c \ $(TOP)\src\test_schemapool.c \ $(TOP)\src\test_superlock.c \ $(TOP)\src\test_syscall.c \ $(TOP)\src\test_tclsh.c \ $(TOP)\src\test_tclvar.c \ $(TOP)\src\test_thread.c \ $(TOP)\src\test_vdbecov.c \ $(TOP)\src\test_vfs.c \ |
︙ |
Changes to autosetup/teaish/core.tcl.
︙ | |||
88 89 90 91 92 93 94 | 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | - | -pkgInit.tcl TEAISH_PKGINIT_TCL -pkgInit.tcl.in TEAISH_PKGINIT_TCL_IN -url TEAISH_URL -tm.tcl TEAISH_TM_TCL -tm.tcl.in TEAISH_TM_TCL_IN -options {} -pragmas {} |
︙ | |||
328 329 330 331 332 333 334 | 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 | - - - + - - - - + + + + + - - + - - + - | } -vsatisfies - -v {{Tcl 8.5-}} -pkgInit.tcl - -v "" -pkgInit.tcl.in - -v "" -url - -v "" -tm.tcl - -v "" -tm.tcl.in - -v "" |
︙ | |||
523 524 525 526 527 528 529 | 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 | - + | } if {[opt-bool teaish-vsatisfies-check]} { set tclsh [get-define TCLSH_CMD] set vsat "package vsatisfies \[ package provide $pkg \] $vcheck" set vputs "puts \[ $vsat \]" #puts "*** vputs = $vputs" scan [exec echo $vputs | $tclsh] %d vvcheck |
︙ | |||
586 587 588 589 590 591 592 | 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 | - + - - - - - + + + + - + - + - - - - + + - - + | # # Ensure we clean up TEAISH_PKGINIT_TCL if needed and @-process # TEAISH_PKGINIT_TCL_IN if needed. # if {0x0f & $::teaish__Config(pkginit-policy)} { file delete -force -- [get-define TEAISH_PKGINIT_TCL] |
︙ | |||
645 646 647 648 649 650 651 652 653 654 | 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 | + - | proj-remap-autoconf-dir-vars set tdefs [teaish__defines_to_list] define TEAISH__DEFINES_MAP $tdefs; # injected into _teaish.tester.tcl # # NO [define]s after this point! # proj-dot-ins-process -validate proj-if-opt-truthy teaish-dump-defines { proj-file-write config.defines.txt $tdefs } |
︙ | |||
822 823 824 825 826 827 828 | 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 | - + - - | set tcllibdir [get-env TCLLIBDIR ""] set extDirName [teaish-pkginfo-get -libDir] if {"" eq $tcllibdir} { # Attempt to extract TCLLIBDIR from TCL's $auto_path if {"" ne $withSh && [catch {exec echo "puts stdout \$auto_path" | "$withSh"} result] == 0} { foreach i $result { |
︙ | |||
1073 1074 1075 1076 1077 1078 1079 | 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 | - + | if {[proj-first-file-found extM \ [list \ $dirExt/teaish.make.in \ $dirExt/teaish.make \ ]]} { if {[string match *.in $extM]} { define TEAISH_MAKEFILE_IN $extM |
︙ | |||
1141 1142 1143 1144 1145 1146 1147 | 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 | - - + + | set ::teaish__Config(pkgindex-policy) $piPolicy # Look for teaish.test.tcl[.in] proj-assert {"" ne $dirExt} set flist [list $dirExt/teaish.test.tcl.in $dirExt/teaish.test.tcl] if {[proj-first-file-found ttt $flist]} { if {[string match *.in $ttt]} { |
︙ | |||
1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 | 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 | + | # it before they're added to the list. As often as not, that will be # the desired behavior so that out-of-tree builds can find the # sources, but there are cases where it's not desired (e.g. when using # a source file from outside of the extension's dir, or when adding # object files (which are typically in the build tree)). # proc teaish-src-add {args} { set i 0 proj-parse-simple-flags args flags { -dist 0 {expr 1} -dir 0 {expr 1} } if {$flags(-dist)} { teaish-dist-add {*}$args } |
︙ | |||
1393 1394 1395 1396 1397 1398 1399 | 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 | - + - - - - - + + - + - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + - - - + - - - - - - + + - + - + - + | # Internal helper to generate a clean/distclean rule name proc teaish__cleanup_rule {{tgt clean}} { set x [incr ::teaish__Config(teaish__cleanup_rule-counter-${tgt})] return ${tgt}-_${x}_ } |
︙ | |||
2086 2087 2088 2089 2090 2091 2092 | 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 | - - - - - - - - - - - | define TEAISH_PKGINIT_TCL_IN $tIn define TEAISH_PKGINIT_TCL $tOut define TEAISH_PKGINIT_TCL_TAIL $tTail teaish-dist-add $v set v $x } |
︙ | |||
2534 2535 2536 2537 2538 2539 2540 | 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 | - + | foreach {srcDir destDir} [list \ $dAS $ddAS \ $dAST $ddAST \ $dASTF $ddASTF \ ] { teaish__verbose 1 msg-result "Copying files to $destDir..." file mkdir $destDir |
︙ |
Changes to autosetup/teaish/tester.tcl.
︙ | |||
95 96 97 98 99 100 101 | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | - + | return } incr verbose } else { lassign $args script msg } incr ::test__Counters($what) |
︙ | |||
132 133 134 135 136 137 138 | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | # # Works like [affirm] but exits on error. # proc assert {args} { tailcall test__affert 1 {*}$args } |
︙ | |||
187 188 189 190 191 192 193 | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | # $result, minus any leading or trailing whitespace. If they differ, # it triggers an [assert]. # proc test-expect {testId script result} { puts "test $testId" set x [string trim [uplevel 1 $script]] set result [string trim $result] |
︙ |
Changes to doc/lemon.html.
︙ | |||
720 721 722 723 724 725 726 727 728 729 730 731 732 733 | 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 | + + + + | <p><tt>%code</tt> is typically used to include some action routines or perhaps a tokenizer or even the "main()" function as part of the output file.</p> <p>There can be multiple <tt>%code</tt> directives. The arguments of all <tt>%code</tt> directives are concatenated.</p> <p>If the argument to <tt>%code</tt> is a filename within <tt><...></tt> then the content of the named file is inserted instead of the text of the argument itself. <a id='default_destructor'></a> <h4>4.4.2 The <tt>%default_destructor</tt> directive</h4> <p>The <tt>%default_destructor</tt> directive specifies a destructor to use for non-terminals that do not have their own destructor specified by a separate <tt>%destructor</tt> directive. See the documentation |
︙ | |||
915 916 917 918 919 920 921 922 923 924 925 926 927 928 | 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 | + + + + + | <pre> %include {#include <unistd.h>} </pre> <p>This might be needed, for example, if some of the C actions in the grammar call functions that are prototyped in unistd.h.</p> <p>If the argument to <tt>%include</tt> is a filename within <tt><...></tt> then the content of that file is inserted instead of the text of the argument itself. <p>Use the <tt><a href="#pcode">%code</a></tt> directive to add code to the end of the generated parser.</p> <a id='pleft'></a> <h4>4.4.10 The <tt>%left</tt> directive</h4> |
︙ |
Added doc/shared_schema.md.