limbo/testing
Jussi Saurio cae234818b
Merge 'Inital support for window functions' from Piotr Rżysko
This adds basic support for window functions. For now:
* Only existing aggregate functions can be used as window functions.
* Specialized window-specific functions (`rank`, `row_number`, etc.) are
not yet supported.
* Only the default frame definition is implemented:
`RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE NO OTHERS`.

Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com>
Reviewed-by: Preston Thorpe <preston@turso.tech>

Closes #3079
2025-09-17 08:29:16 +03:00
..
cli_tests Support external aggregate functions wrapped in expressions 2025-09-02 08:22:36 +02:00
javascript testing/javascript: Add test case for blobs 2025-08-22 14:17:45 +03:00
sqlite3 testing/sqlite3: Update all.test 2025-08-02 13:00:18 +03:00
sqlite_test_ext Implement xBestIndex for kvstore.c 2025-08-04 19:25:11 +02:00
test_files CSV import fixes 2025-07-15 16:44:11 +03:00
unreliable-libc unreliable-libc: Make fault injection seed configurable 2025-08-20 13:50:04 +03:00
wal testing: Add test database + WAL file 2024-08-03 12:16:34 +03:00
affinity.test core/vdbe: Fix apply_affinity_char() text parsing 2025-09-08 18:49:13 +03:00
agg-functions.test Fix delimiter handling in group_concat and string_agg 2025-09-13 10:49:14 +02:00
all.test Add support for window functions 2025-09-13 11:12:44 +02:00
alter_column.test feat+fix: add tests and restrict altering some constraints 2025-08-30 03:43:31 -03:00
alter_table.test feat: add more alter table test cases 2025-09-05 20:43:18 -03:00
analyze.test ANALYZE creates sqlite_stat1 if it doesn't exist 2025-08-24 13:35:39 -07:00
attach.test Support ATTACH (read only) 2025-07-24 19:19:48 -05:00
boolean.test Fix incompatibility AND Expression 2025-04-13 22:38:43 -03:00
changes.test Created basic tcl tests for changes and total_changes 2025-01-19 20:51:16 -05:00
cmdlineshell.test refactor(testing): move .table tests to shelltests.py 2024-12-18 09:10:37 +02:00
coalesce.test extend TCL tests for COALESCE 2025-02-09 22:01:33 +04:00
collate.test Handle COLLATE clause in grouped aggregations 2025-08-31 06:51:26 +02:00
compare.test testing/compare.test: Clean up tests by using in-memory database 2025-09-10 14:14:46 +03:00
concat.test Added Concat Opcode 2025-01-21 00:29:23 +05:30
create_table.test string sometimes used as identifier quoting 2025-09-02 21:35:37 +07:00
default_value.test chore: make every CREATE TABLE stmt in entire repo have 1 space after tbl name 2025-07-22 11:35:21 +03:00
delete.test chore: enable indexes by default 2025-08-01 15:44:56 +03:00
drop_index.test Including tests 2025-08-05 21:18:52 -07:00
drop_table.test chore: enable indexes by default 2025-08-01 15:44:56 +03:00
gen-bigass-database.py add gen-bigass-database.py 2025-09-08 13:05:33 -04:00
gen-database.py ruff lint fix 2025-06-20 15:59:03 -03:00
glob.test testing/glob.test: Run in-memory mode 2025-07-07 11:09:54 +03:00
groupby.test Fix accumulator reset when arguments outnumber aggregates 2025-09-13 10:49:14 +02:00
insert.test Add edge-case tests for boolean literals 2025-09-01 11:27:43 -04:00
integrity_check.test integrity test with tcl 2025-06-11 18:39:06 +02:00
join.test regression test for crash in op_column 2025-09-09 00:11:19 +03:00
json.test Merge 'Fix jsonb functions check valid json string binary' from 2025-09-10 14:44:54 +03:00
like.test Escape character is ignored in LIKE function #1051 2025-03-01 18:32:09 +01:00
literal.test handle int64 overflow by f64 2025-05-08 22:22:55 +08:00
materialized_views.test add tests for rollback of views. 2025-08-27 14:21:32 -05:00
math.test Merge 'Parse hex integers 2' from Anton Harniakou 2025-04-16 11:13:01 +03:00
null.test Fix TCL test 2025-09-01 11:39:43 -04:00
offset.test Created TCL tests for select queries with offset 2025-01-26 16:40:30 -05:00
orderby.test Fix sorter column deduplication 2025-08-28 09:49:55 +02:00
pragma.test Fix pragma module list tests 2025-08-11 12:13:47 -04:00
pyproject.toml Add bench-sqlite script and makefile command for benchmarking an I/O backend against sqlite3 2025-08-18 15:11:29 -04:00
README.md Add framework for testing extensions in TCL 2025-08-15 21:06:27 +02:00
rollback.test chore: enable indexes by default 2025-08-01 15:44:56 +03:00
scalar-functions-datetime.test core(datetime): added implementation of ceiling modifier to datetime 2025-08-23 22:59:08 -05:00
scalar-functions-printf.test test fix 2025-02-04 21:02:51 +05:30
scalar-functions.test Including test for parsing large numeric strings as number when an operand is numerican when doing logical comparision 2025-08-01 16:30:32 -07:00
select.test improve the limi exprs test with foreach block 2025-08-26 19:56:25 +05:30
subquery.test chore: enable indexes by default 2025-08-01 15:44:56 +03:00
tester.tcl Add framework for testing extensions in TCL 2025-08-15 21:06:27 +02:00
testing.db fix: revert changes on testing dbs 2025-08-11 08:42:08 -03:00
testing_norowidalias.db fix: revert changes on testing dbs 2025-08-11 08:42:08 -03:00
testing_small.db implement is and is not where constraints 2025-01-31 23:01:49 -05:00
testing_user_version_10.db Add read implementation of user_version pragma with ReadCookie opcode 2025-02-07 09:23:48 -05:00
time.test extensions/time: normalize offset_sec 2025-02-19 21:25:14 +08:00
total-changes.test Add total_changes test 2025-06-07 17:37:36 +09:00
transactions.test Implement deferred transactions 2025-03-17 10:01:00 -03:00
update.test Add regression test 2025-08-21 16:31:12 +03:00
upsert.test Comment out tests that require COLLLATE in unique index creation 2025-08-29 20:58:44 -04:00
values.test improve handling of double quotes 2025-07-18 10:39:02 -05:00
vector.test testing: Add few TCL tests for vector extensions 2025-01-28 14:24:09 +02:00
views.test Implement views 2025-08-13 14:14:03 -05:00
vtab.test Extract TVF-related tests to TCL 2025-08-15 21:06:30 +02:00
where.test chore: enable indexes by default 2025-08-01 15:44:56 +03:00
window.test Add support for window functions 2025-09-13 11:12:44 +02:00

Turso Testing

Testing Extensions

When adding tests for extensions, please follow these guidelines:

  • Tests that verify the internal logic or behavior of a particular extension should go into cli_tests/extensions.py.
  • Tests that verify how extensions interact with the database engine, such as virtual table handling, should be written in TCL (see vtab.test as an example).

To check which extensions are available in TCL, or to add a new one, refer to the tester.tcl file and look at the extension_map.