mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-18 00:54:19 +01:00
Don't use search for virtual tables
Previously, the test queries added in this commit would fail with:
thread 'main' panicked at core/schema.rs:129:34:
not implemented
stack backtrace:
0: rust_begin_unwind
at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:665:5
1: core::panicking::panic_fmt
at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:74:14
2: core::panicking::panic
at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:148:5
3: limbo_core::schema::Table::get_root_page
at ./core/schema.rs:129:34
4: limbo_core::translate::main_loop::init_loop
at ./core/translate/main_loop.rs:260:44
5: limbo_core::translate::emitter::emit_query
at ./core/translate/emitter.rs:568:5
6: limbo_core::translate::emitter::emit_program_for_select
at ./core/translate/emitter.rs:496:5
7: limbo_core::translate::emitter::emit_program
at ./core/translate/emitter.rs:187:31
8: limbo_core::translate::select::translate_select
at ./core/translate/select.rs:82:5
9: limbo_core::translate::translate_inner
at ./core/translate/mod.rs:241:13
10: limbo_core::translate::translate
at ./core/translate/mod.rs:95:17
11: limbo_core::Connection::run_cmd
at ./core/lib.rs:416:31
12: <limbo_core::QueryRunner as core::iter::traits::iterator::Iterator>::next
at ./core/lib.rs:916:22
13: limbo::app::Limbo::run_query
at ./cli/app.rs:442:27
14: limbo::app::Limbo::handle_input_line
at ./cli/app.rs:544:13
15: limbo::main
at ./cli/main.rs:51:31
16: core::ops::function::FnOnce::call_once
This commit is contained in:
@@ -328,6 +328,16 @@ def _test_series(limbo: TestTursoShell):
|
||||
"SELECT * FROM generate_series(10, 1, -2);",
|
||||
lambda res: res == "10\n8\n6\n4\n2",
|
||||
)
|
||||
limbo.run_test_fn(
|
||||
"SELECT "
|
||||
" a.value a_val, "
|
||||
" b.value b_val "
|
||||
"FROM "
|
||||
" generate_series(1, 3) a "
|
||||
"JOIN "
|
||||
" generate_series(1, 1) b ON a.value = b.value;",
|
||||
lambda res: res == "1|1",
|
||||
)
|
||||
limbo.execute_dot("CREATE TABLE target (id integer primary key);")
|
||||
limbo.execute_dot("INSERT INTO target SELECT * FROM generate_series(1, 5);")
|
||||
limbo.run_test_fn(
|
||||
@@ -919,11 +929,22 @@ def _test_hidden_columns(exec_name, ext_path):
|
||||
"SELECT * FROM l JOIN r ON l.comment = r.comment;",
|
||||
lambda res: "2|3|comment1|4|5" == res,
|
||||
)
|
||||
# TODO: Limbo panics for:
|
||||
# - SELECT * FROM l NATURAL JOIN r NATURAL JOIN r;
|
||||
# - SELECT * FROM l NATURAL JOIN r NATURAL JOIN l;
|
||||
# - SELECT * FROM r NATURAL JOIN l;
|
||||
# - SELECT * FROM r NATURAL JOIN l NATURAL JOIN r;
|
||||
limbo.run_test_fn(
|
||||
"SELECT * FROM l NATURAL JOIN r NATURAL JOIN r;",
|
||||
lambda res: "2|3|comment0" == res,
|
||||
)
|
||||
limbo.run_test_fn(
|
||||
"SELECT * FROM l NATURAL JOIN r NATURAL JOIN l;",
|
||||
lambda res: "2|3|comment0" == res,
|
||||
)
|
||||
limbo.run_test_fn(
|
||||
"SELECT * FROM r NATURAL JOIN l;",
|
||||
lambda res: "comment0|2|3" == res,
|
||||
)
|
||||
limbo.run_test_fn(
|
||||
"SELECT * FROM r NATURAL JOIN l NATURAL JOIN r;",
|
||||
lambda res: "comment0|2|3" == res,
|
||||
)
|
||||
|
||||
limbo.quit()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user