mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-31 20:16:43 +00:00
Adds unit tests for the function `expr::prepare_expression`. Three minor bugs were found by these tests, both fixed in this PR. 1. When preparing a map, the type for tuple constructor was taken from an unprepared tuple, which has `nullptr` as its type. 2. Preparing an empty nonfrozen list or set resulted in `null`, but preparing a map didn't. Fixed this inconsistency. 3. Preparing a `bind_variable` with `nullptr` receiver was allowed. The `bind_variable` ended up with a `nullptr` type, which is incorrect. Changed it to throw an exception, Closes #11941 * github.com:scylladb/scylladb: test preparing expr::usertype_constructor expr_test: test that prepare_expression checks style_type of collection_constructor expr_test: test preparing expr::collection_constructor for map prepare_expr: make preparing nonfrozen empty maps return null prepare_expr: fix a bug in map_prepare_expression expr_test: test preparing expr::collection_constructor for set expr_test: test preparing expr::collection_constructor for list expr_test: test preparing expr::tuple_constructor expr_test: test preparing expr::untyped_constant expr_test_utils: add make_bigint_raw/const expr_test_utils: add make_tinyint_raw/const expr_test: test preparing expr::bind_variable cql3: prepare_expr: forbid preparing bind_variable without a receiver expr_test: test preparing expr::null expr_test: test preparing expr::cast expr_test_utils: add make_receiver expr_test_utils: add make_smallint_raw/const expr_test: test preparing expr::token expr_test: test preparing expr::subscript expr_test: test preparing expr::column_value expr_test: test preparing expr::unresolved_identifier expr_test_utils: mock data_dictionary::database