Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 most recent check-ins that include changes to files matching 'bindings/tcl/*'
|
2026-02-07
| ||
| 17:25 | tcl extension: add the (db query --return exists) flag. Make (--return *) an alias for (--return row1-list) plus no column names, and likewise for (--return **) and (--return rows-lists). check-in: 914ed6dcaf user: stephan tags: trunk | |
|
2026-02-06
| ||
| 17:06 | Tiny cleanups in the tcl bindings. No functional changes. check-in: d54f6e3a23 user: stephan tags: trunk | |
|
2026-02-05
| ||
| 08:44 | Fix an fsl_db_open() flags miscalculation in the tcl extension which caused it to open dbs in read-only mode unless it also created them. More than an hour was spent last night trying to find the source of 'readonyl db' errors :/. check-in: d2c4a0f21e user: stephan tags: trunk | |
|
2026-02-04
| ||
| 19:23 | Replace extraneous tcl extension init output with code comments explaining the file's purpose. check-in: 110345d7c9 user: stephan tags: trunk | |
|
2025-12-31
| ||
| 21:20 | Get bindings/tcl working after semi-recent removal of column/parameter counts from fsl_stmt. check-in: 1b4045de05 user: stephan tags: trunk | |
|
2025-08-12
| ||
| 19:25 | Add a missing TCL_GLOBAL_ONLY flag. check-in: b3a668d18f user: stephan tags: trunk | |
| 02:10 | Minor tcl binding touchups. check-in: 0114c962be user: stephan tags: trunk | |
| 01:58 | Improve and document the tcl linenoise wrapper. check-in: adeff1a2d0 user: stephan tags: trunk | |
| 00:58 | Add basic linenoise support to the custom tcl shell. check-in: f4d3cb1e40 user: stephan tags: trunk | |
|
2025-08-11
| ||
| 22:23 | Get the tcl binding back into working order after recent API upheaval. check-in: d9468aefcb user: stephan tags: trunk | |
| 13:32 | Merge the savepoints branch into trunk. This changes how fsl_db deals with nested transactions, from a pseudo-nesting on top of a single BEGIN/COMMIT pair to the nesting supported by SAVEPOINTs, the most significant of which (for this project) is the ability to dry-run invididual parts of a transaction without rolling back the whole thing. Add sanity-tests.sh. check-in: 761ae5eaea user: stephan tags: trunk | |
|
2025-08-10
| ||
| 00:58 | Globally rename foo_transaction_bar() to foo_txn_bar(). check-in: 03da2e699b user: stephan tags: savepoints | |
|
2025-08-01
| ||
| 15:55 | Tcl binding doc touchups. check-in: be75664ac2 user: stephan tags: trunk | |
|
2025-07-20
| ||
| 13:17 | Account for fsl_cx being made opaque since this code was last updated. check-in: a0ddbd70fd user: stephan tags: trunk | |
|
2025-06-08
| ||
| 10:28 | Minor tcl-side internal cleanups. For the ls command, use {-} as the permission string for normal files, instead of {}, to simplify rendering of that state. Fix a test recently broken by the addition of a file. check-in: b91e0181f6 user: stephan tags: trunk | |
| 09:40 | Add some missing </a> tag closers. check-in: ba94dc1cba user: stephan tags: trunk | |
| 09:35 | Add prepared statement support to the tcl binding. (Merge in branch tcl-stmt-cmd.) check-in: d32984e36b user: stephan tags: trunk | |
| 09:17 | Add a call to Tcl_Finalize() to shell.c. It doesn't seem to do anything (doesn't free up any of the Tcl-internal leaks, and neither does Tcl_Exit()). closed check-in: 8bdb051f21 user: stephan tags: tcl-stmt-cmd | |
| 09:00 | Remove some dead, short-lived configure code which was obsoleted by the discovery of Tcl_Init(). check-in: 84d0f11365 user: stephan tags: tcl-stmt-cmd | |
|
2025-06-07
| ||
| 23:48 | Teach ftclsh how to use Tcl_Init() so that functions like parray are loaded (never noticed it was missing until earlier today). check-in: 37c9e5e610 user: stephan tags: tcl-stmt-cmd | |
| 22:50 | Refactoring of the (fossil ls) internals to work towards accommodating checkout-local ls. check-in: 6479c21c17 user: stephan tags: tcl-stmt-cmd | |
| 18:49 | Move two related tcl configure script maintenance burdens into the same code block. check-in: 9e83bb5d15 user: stephan tags: tcl-stmt-cmd | |
| 18:42 | Move 580-ish lines of UDF-specific code from db.c to the new udf.c. check-in: 8f24c7f929 user: stephan tags: tcl-stmt-cmd | |
| 18:08 | Add (db.stmt bind -reset) flag, as SQLite will fail to bind on a statement which has been stepped but not reset. We do not reset automatically because that could hide misuse, e.g. binding during a loop on that same statement's results. check-in: 133257ab6e user: stephan tags: tcl-stmt-cmd | |
| 17:40 | Minor doc tweaks. check-in: 8dac1025b8 user: stephan tags: tcl-stmt-cmd | |
| 17:34 | Add the -no-type-flags flag to (db query) and (stmt bind) to tell them not to look for -type flags in binding lists and maps. check-in: ba2db64d32 user: stephan tags: tcl-stmt-cmd | |
| 15:39 | Resolve mis-linked-listing of ftcl_cx::pQueries, eliminating the aforementioned assert() failure (and gaining new asserts which uncovered the problem). Tests are happy. Valgrind is happy (sans the Tcl-side and dlopen() leaks). check-in: f39f1907f1 user: stephan tags: tcl-stmt-cmd | |
| 14:18 | More work on tcl's db.stmt. This still has a legitimately-failing assert() to track down. check-in: 1b3a29e572 user: stephan tags: tcl-stmt-cmd | |
| 12:17 | Fix for tcl memory corruption caused by mis-(un)referencing of a prepared statement's SQL NULL string value. Stashing this for merging with a more recent checkin. closed check-in: d32a2fa9b8 user: stephan tags: tcl-stmt-misref-fix | |
| 11:34 | tcl: this is broken (a legtimately-failing assert and, with the right tests activated, memory corruption) but am checking it in so i can back up and try to locate the memory corruption problem without these pieces (and don't want to lose them). check-in: eaafe12cf5 user: stephan tags: tcl-stmt-cmd | |
| 00:50 | Add a missing stmt finalize in test code which, incidentally, triggers a memory corruption panic in Tcl (but certainly my fault). check-in: 0e270edf3e user: stephan tags: tcl-stmt-cmd | |
|
2025-06-06
| ||
| 22:56 | Doc tweaks. check-in: 91d1478636 user: stephan tags: tcl-stmt-cmd | |
| 22:00 | Internal cleanups and docs. check-in: df4155da25 user: stephan tags: tcl-stmt-cmd | |
| 21:39 | Add the (db.stmt get -list/-dict) flags. check-in: e5e4da0305 user: stephan tags: tcl-stmt-cmd | |
| 21:07 | More work on the prepared stmt command objects. Started documenting them. check-in: 3b4967ab92 user: stephan tags: tcl-stmt-cmd | |
| 18:30 | Eliminate the discrepancy mentioned in the previous checkin: closing a db object invalidates stmt objects it prepared rather than keeping the db open via refcounting. This keeps the underlying tcl-binding object's alive, because we can't currently manage the QueryState lifetimes without that, but their db connection is closed and the resources on that side of the API are freed (the rest is freed via Tcl's normal lifetime management). check-in: b2fc76cc2d user: stephan tags: tcl-stmt-cmd | |
| 17:35 | When closing a fsl_cx, invalidate any opened query command objects so that they do not step in invalid memory later on. They will trigger an error when used for anything except their finalize method. fsl_db contexts, on the other hand, share a refcount and will stay open until the last query is closed. This discrepancy is unsightly, but the problem child is the former case - the fsl_cx internally manages its db handles and we can't influence them from here like we can the db handles. Because fossil cx's can be re-used after closing them, we're bound to honor their close method and actually close the SCM dbs, which invalidates opened statements. For fsl_db contexts, though, we can(?) justify keeping the db handle open so long as there's a reference to it. Maybe. Maybe not. check-in: 820c64211e user: stephan tags: tcl-stmt-cmd | |
| 15:34 | tcl: add (incomplete) support for prepared statements as command objects. What's been tested (which isn't everything) seems to work but there is still a lifetime quirk involving prepared statements to fossil-managed db handles when the fossil instance is closed before the statement (which shouldn't happen, and doesn't for non-fossil db handles, but we need a small extra piece of infrastructure to account for this case). check-in: b4c9938909 user: stephan tags: tcl-stmt-cmd | |
| 09:07 | Rename the redunantly-named tclfossil.tcl to fossil.tcl. check-in: b4b27f57df user: stephan tags: trunk | |
|
2025-06-05
| ||
| 14:27 | Remove some unused code. check-in: 3818a14ac6 user: stephan tags: trunk | |
| 10:03 | Internal cleanups in the tcl pieces. check-in: e14034f9ea user: stephan tags: trunk | |
|
2025-06-04
| ||
| 21:47 | Tcl doc fix. check-in: e7b34d933b user: stephan tags: trunk | |
| 09:35 | Re-do the (fossil info) command with a different interface. check-in: ee4e191a1f user: stephan tags: trunk | |
|
2025-06-03
| ||
| 20:35 | Tweak the tcl test script to be able to run individual external test scripts, rather than the whole suite. Move most of the tests into external files. check-in: d1709bd835 user: stephan tags: trunk | |
| 18:57 | Minor internal cleanups. check-in: 125aec9b39 user: stephan tags: trunk | |
| 18:37 | Refactor th_cmdo to have a refcount so that we can eventually do things like create prepared queries as command objects and keep their lifetimes kosher vis a vis their databases' command objects. Reminder to self: a query command object would provide a subset of db operations relevant to the query, e.g. binding, stepping, fetching result columns, and finalizing the underlying prepared statement (which would also decrement the associated db's refcount). check-in: 1d2131fb80 user: stephan tags: trunk | |
| 15:07 | tcl: add -size, -renames, -time, and -localtime flags to the (fossil ls) command. check-in: 84d048fb85 user: stephan tags: trunk | |
| 13:58 | No, really this time. check-in: 1ec5e365a0 user: stephan tags: trunk | |
| 13:54 | Account for the renamed tcl extension in shell.c. check-in: 8a86427869 user: stephan tags: trunk | |
| 12:32 | Rename the tcl extension from tclfossil to simply libfossil. check-in: 3fd5067559 user: stephan tags: trunk | |