153 changes: 151 additions & 2 deletions ibis/backends/pyspark/__init__.py
90 changes: 85 additions & 5 deletions ibis/backends/pyspark/compiler.py
22 changes: 22 additions & 0 deletions ibis/backends/pyspark/datatypes.py
59 changes: 58 additions & 1 deletion ibis/backends/pyspark/tests/conftest.py
16 changes: 15 additions & 1 deletion ibis/backends/pyspark/tests/test_array.py
31 changes: 31 additions & 0 deletions ibis/backends/pyspark/tests/test_basic.py
169 changes: 147 additions & 22 deletions ibis/backends/snowflake/__init__.py
7 changes: 7 additions & 0 deletions ibis/backends/snowflake/datatypes.py
22 changes: 20 additions & 2 deletions ibis/backends/snowflake/registry.py
2 changes: 1 addition & 1 deletion ibis/backends/sqlite/__init__.py
10 changes: 10 additions & 0 deletions ibis/backends/sqlite/registry.py
97 changes: 39 additions & 58 deletions ibis/backends/sqlite/tests/conftest.py
16 changes: 8 additions & 8 deletions ibis/backends/sqlite/tests/test_client.py
29 changes: 6 additions & 23 deletions ibis/backends/sqlite/tests/test_functions.py
4 changes: 3 additions & 1 deletion ibis/backends/sqlite/tests/test_types.py
27 changes: 27 additions & 0 deletions ibis/backends/sqlite/udf.py
19 changes: 19 additions & 0 deletions ibis/backends/tests/snapshots/test_string/test_rlike/mysql/out.sql
19 changes: 19 additions & 0 deletions ibis/backends/tests/snapshots/test_string/test_rlike/trino/out.sql
160 changes: 19 additions & 141 deletions ibis/backends/tests/test_aggregation.py
23 changes: 18 additions & 5 deletions ibis/backends/tests/test_api.py
289 changes: 256 additions & 33 deletions ibis/backends/tests/test_array.py
207 changes: 61 additions & 146 deletions ibis/backends/tests/test_client.py
9 changes: 6 additions & 3 deletions ibis/backends/tests/test_export.py
213 changes: 204 additions & 9 deletions ibis/backends/tests/test_generic.py
4 changes: 2 additions & 2 deletions ibis/backends/tests/test_join.py
8 changes: 6 additions & 2 deletions ibis/backends/tests/test_json.py
17 changes: 12 additions & 5 deletions ibis/backends/tests/test_map.py
2 changes: 1 addition & 1 deletion ibis/backends/tests/test_param.py
139 changes: 118 additions & 21 deletions ibis/backends/tests/test_register.py
1 change: 0 additions & 1 deletion ibis/backends/tests/test_set_ops.py
72 changes: 71 additions & 1 deletion ibis/backends/tests/test_sql.py
33 changes: 30 additions & 3 deletions ibis/backends/tests/test_string.py
53 changes: 17 additions & 36 deletions ibis/backends/tests/test_temporal.py
1 change: 1 addition & 0 deletions ibis/backends/tests/test_timecontext.py
2 changes: 2 additions & 0 deletions ibis/backends/tests/test_vectorized_udf.py
447 changes: 301 additions & 146 deletions ibis/backends/tests/test_window.py
1 change: 0 additions & 1 deletion ibis/backends/trino/__init__.py
3 changes: 2 additions & 1 deletion ibis/backends/trino/compiler.py
8 changes: 4 additions & 4 deletions ibis/backends/trino/datatypes.py
55 changes: 42 additions & 13 deletions ibis/backends/trino/registry.py
79 changes: 78 additions & 1 deletion ibis/common/caching.py
2 changes: 1 addition & 1 deletion ibis/common/tests/test_grounds.py
10 changes: 8 additions & 2 deletions ibis/conftest.py
4 changes: 4 additions & 0 deletions ibis/examples/CITATIONS.md
34 changes: 23 additions & 11 deletions ibis/examples/tests/test_examples.py
15 changes: 13 additions & 2 deletions ibis/expr/analysis.py
87 changes: 60 additions & 27 deletions ibis/expr/api.py
16 changes: 16 additions & 0 deletions ibis/expr/datatypes/core.py
9 changes: 9 additions & 0 deletions ibis/expr/datatypes/parse.py
15 changes: 15 additions & 0 deletions ibis/expr/datatypes/tests/test_parse.py
7 changes: 3 additions & 4 deletions ibis/expr/deferred.py
51 changes: 51 additions & 0 deletions ibis/expr/operations/arrays.py
38 changes: 32 additions & 6 deletions ibis/expr/operations/relations.py
6 changes: 6 additions & 0 deletions ibis/expr/rules.py
463 changes: 6 additions & 457 deletions ibis/expr/selectors.py
7 changes: 0 additions & 7 deletions ibis/expr/sql.py
12 changes: 12 additions & 0 deletions ibis/expr/tests/test_deferred.py
316 changes: 302 additions & 14 deletions ibis/expr/types/arrays.py
29 changes: 24 additions & 5 deletions ibis/expr/types/generic.py
6 changes: 4 additions & 2 deletions ibis/expr/types/groupby.py
8 changes: 4 additions & 4 deletions ibis/expr/types/json.py
23 changes: 11 additions & 12 deletions ibis/expr/types/pretty.py
935 changes: 821 additions & 114 deletions ibis/expr/types/relations.py
6 changes: 3 additions & 3 deletions ibis/expr/types/strings.py
2 changes: 1 addition & 1 deletion ibis/interactive.py
491 changes: 491 additions & 0 deletions ibis/selectors.py
6 changes: 6 additions & 0 deletions ibis/tests/expr/mocks.py
2 changes: 1 addition & 1 deletion ibis/tests/expr/test_analysis.py
10 changes: 5 additions & 5 deletions ibis/tests/expr/test_pretty_repr.py
13 changes: 8 additions & 5 deletions ibis/tests/expr/test_set_operations.py
2 changes: 1 addition & 1 deletion ibis/tests/expr/test_struct.py
108 changes: 80 additions & 28 deletions ibis/tests/expr/test_table.py
4 changes: 2 additions & 2 deletions ibis/tests/expr/test_value_exprs.py
2 changes: 1 addition & 1 deletion ibis/tests/expr/test_window_frames.py
2 changes: 1 addition & 1 deletion ibis/tests/sql/conftest.py
33 changes: 18 additions & 15 deletions ibis/tests/sql/snapshots/test_compiler/test_table_intersect/out.sql
33 changes: 18 additions & 15 deletions ibis/tests/sql/snapshots/test_compiler/test_union/out.sql
23 changes: 13 additions & 10 deletions ibis/tests/sql/snapshots/test_compiler/test_union_order_by/out.sql
16 changes: 8 additions & 8 deletions ibis/tests/sql/test_compiler.py
20 changes: 10 additions & 10 deletions ibis/tests/sql/test_select_sql.py
2 changes: 1 addition & 1 deletion ibis/tests/sql/test_sqlalchemy.py
4 changes: 2 additions & 2 deletions ibis/tests/test_api.py
2 changes: 2 additions & 0 deletions ibis/tests/util.py
26 changes: 2 additions & 24 deletions ibis/util.py
3 changes: 2 additions & 1 deletion justfile
10 changes: 6 additions & 4 deletions mkdocs.yml
1 change: 1 addition & 0 deletions nix/ibis.nix
30 changes: 21 additions & 9 deletions nix/overlay.nix
2 changes: 0 additions & 2 deletions poetry-overrides.nix
1,577 changes: 800 additions & 777 deletions poetry.lock
108 changes: 53 additions & 55 deletions pyproject.toml
128 changes: 65 additions & 63 deletions requirements.txt