Commit Graph

202 Commits

Author SHA1 Message Date
Itai Shirav
acccfbcaad Support for using LIMIT N BY feature (simplify, additional testing, documentation) 2020-02-07 13:36:55 +02:00
utapyngo
6d7b6250c5 Support for using LIMIT N BY feature
See https://clickhouse.yandex/docs/en/query_language/select/#limit-by-clause
2020-01-20 19:53:38 +07:00
Itai Shirav
ef30f1d1bd Remove usage of six 2019-12-15 19:14:16 +02:00
Itai Shirav
4848c7f813 Support LowCardinality columns in ad-hoc queries 2019-12-12 22:09:35 +02:00
Itai Shirav
39f34b7c85 Functions WIP 2019-10-27 20:20:26 +02:00
Itai Shirav
969070f1ae - Drop py2.7 support
- Add ipv4/6 fields and funcs
- Support funcs as alias/materialized expressions
2019-10-27 19:47:59 +02:00
M1ha
1b37c38bbf Added primary_key parameter 2019-07-15 13:01:45 +05:00
Itai Shirav
cc0f2c4e91 Functions WIP 2019-07-13 23:01:37 +03:00
Itai Shirav
8a21e02862 Functions WIP 2019-07-13 22:54:16 +03:00
Itai Shirav
342f06e7b0 Merge branch 'develop' into funcs
# Conflicts:
#	src/infi/clickhouse_orm/query.py
#	tests/test_decimal_fields.py
#	tests/test_querysets.py
2019-07-13 11:51:10 +03:00
Itai Shirav
88510aaa42 Merge branch 'funcs' of git.infinidat.com:host-opensource/infi.clickhouse_orm into funcs
# Conflicts:
#	src/infi/clickhouse_orm/fields.py
#	src/infi/clickhouse_orm/query.py
#	tests/test_querysets.py
2019-07-13 10:58:09 +03:00
Roy Belio
3ba44608f3 RAMEN-206 Support LowCardinality in infi.clickhouse_orm 2019-06-24 14:20:18 +03:00
Roy Belio
2d3441b127 RAMEN-208 Support codec compression for clickhouse 2019-06-24 12:31:19 +03:00
Roy Belio
1889ac6372 Minor bug fixes
field creation won't allow empty string materialized field.
repliaca_name check is none
fix enum usage
typos fix
2019-06-23 11:53:58 +03:00
Roy Belio
4d2ebd65fb RAMEN-208 Support codec compression for clickhouse 2019-06-23 11:53:20 +03:00
Itai Shirav
840b29499a UUIDField compatibility with Python 3 2019-06-13 08:58:39 +03:00
Itai Shirav
da87a151df Fix querysets using the SystemPart model 2019-06-13 08:38:06 +03:00
Itai Shirav
9dd1a8f409 - Add log_statements parameter to database initializer
- Fix test_merge which fails on ClickHouse v19.8.3
2019-06-13 08:12:56 +03:00
Itai Shirav
7a2c8515a2 Update docs 2019-06-13 05:19:16 +03:00
Itai Shirav
4561159218 Merge branch 'develop' of https://github.com/kpotehin/infi.clickhouse_orm into kpotehin-develop 2019-06-13 05:08:59 +03:00
Itai Shirav
cadba6f6aa Support default/alias/materialized for nullable fields 2019-06-13 05:07:56 +03:00
Itai Shirav
a765b5fe5f Format of database error messages changed, update failing tests 2019-05-12 10:27:10 +03:00
Itai Shirav
7ed62ffd2c Merge branch 'qs-with-totals' of https://github.com/carrotquest/infi.clickhouse_orm into carrotquest-qs-with-totals 2019-02-27 08:45:22 +02:00
Itai Shirav
64920a96c7 Merge branch 'qs-prewhere' of https://github.com/carrotquest/infi.clickhouse_orm into carrotquest-qs-prewhere 2019-02-27 07:41:17 +02:00
Itai Shirav
3bbf06a70a TRIVIAL assertEquals ==> assertEqual 2019-02-26 23:24:45 +02:00
Itai Shirav
81e942a4d2 Fix pagination when asking for the last page on a query that matches no records 2019-02-26 22:58:59 +02:00
Itai Shirav
bec45b53fa Fix parsing of server errors in ClickHouse v19.3.3+ 2019-02-26 22:46:00 +02:00
Itai Shirav
efe270b502 Migrations - cannot add a new materialized field after a regular field 2019-01-28 10:08:07 +02:00
Itai Shirav
7aef68ab14 TRIVIAL fix test that fails on whitespace diff 2019-01-28 10:06:13 +02:00
Itai Shirav
f96bd22c38 Functions WIP 2019-01-28 09:51:53 +02:00
Kirill Potekhin
e7542dadbd custom UUIDField deleted from tests and docs 2018-12-20 01:41:42 +03:00
Kirill Potekhin
ed62cf5da7 tests for UUIDField 2018-12-20 01:36:46 +03:00
M1ha
6902de3b94 Fix fo conditions_as_sql method by review 2018-12-19 10:06:57 +05:00
M1ha
d912bf56d7 Merge branch 'qs-prewhere' into qs-with-totals 2018-12-17 10:30:01 +05:00
M1ha
375316fbf3 Merge branch 'develop' into qs-prewhere
# Conflicts:
#	src/infi/clickhouse_orm/query.py
2018-12-17 10:21:58 +05:00
Itai Shirav
602d0671f1 Functions WIP 2018-12-14 17:19:32 +02:00
Itai Shirav
9884143291 Added tests for multiple exclude/filter calls 2018-12-14 09:44:52 +02:00
Itai Shirav
2f54b3ca5a Merge branch 'qs-final' of https://github.com/carrotquest/infi.clickhouse_orm into carrotquest-qs-final 2018-12-14 08:31:48 +02:00
Itai Shirav
5c78c315ee Update test to verify issue #89 2018-12-14 08:29:08 +02:00
M1ha
5f4023f120 Added with_totals method 2018-12-12 15:33:35 +05:00
M1ha
12463c61b8 1) Fixed bugs
2) Edited the docs
3) Added test for prewhere
2018-12-11 17:25:54 +05:00
M1ha
76dfdb6012 Fixed bug in final() method engine validation 2018-12-11 16:47:39 +05:00
M1ha
95055996ad 1) Further refactoring of as_sql():
merged very similar QuerySet and AggregateQuerySet methods
2) Fixed some bugs, caused by conditions_as_sql() parameters change
2018-12-08 11:57:08 +05:00
M1ha
7f38f8c654 Added fina() QuerySet method
Added tests for ite
Not tested in case of https://github.com/Infinidat/infi.clickhouse_orm/issues/93
2018-12-02 12:14:19 +05:00
Itai Shirav
962a1673f9 Functions WIP 2018-10-24 16:30:37 +03:00
Itai Shirav
bfceeb56e5 re-enable decimals tests 2018-10-15 09:00:57 +03:00
Itai Shirav
475492a65f support decimal fields (fix test) 2018-10-14 12:26:45 +03:00
Itai Shirav
f24749112e support decimal fields 2018-10-14 09:26:07 +03:00
Itai Shirav
658c7b42ee Bug fix: wrong parentheses when building queries using Q objects 2018-10-13 19:49:12 +03:00
Itai Shirav
f2a731711d Bug fix: QuerySet.count() ignores slicing 2018-10-13 19:29:36 +03:00
Itai Shirav
6416b25818 Merge branch 'filtering_null' of https://github.com/kalombos/infi.clickhouse_orm into kalombos-filtering_null 2018-08-19 18:36:08 +03:00
Itai Shirav
84fc270e0e Replace the deprecated assertEquals with assertEqual 2018-08-19 18:22:22 +03:00
Itai Shirav
44d3dcee34 Added Database.does_table_exist method 2018-08-19 18:20:17 +03:00
Itai Shirav
378cae88bc fix test for python 3 2018-08-19 18:19:01 +03:00
Itai Shirav
acf2f7a189 Check for database existence, to allow delayed creation 2018-08-19 18:02:37 +03:00
Itai Shirav
32c77ab190 Include alias and materialized fields in queryset results 2018-08-19 16:18:15 +03:00
Itai Shirav
be1cbdee76 Add validation of array field's inner field 2018-08-13 08:36:01 +03:00
Itai Shirav
cec543eee7 Test migration of a new array field 2018-08-13 08:35:26 +03:00
fanchi
5059902947 Added a test for isinstance and fixed a bug 2018-07-05 16:36:51 +03:00
kalombo
a32453394a add support for Filtering null values 2018-06-26 17:20:11 +05:00
Itai Shirav
86f05a0c23 Python 3 compatibility 2018-06-10 16:17:35 +03:00
Itai Shirav
d7382e1ce2 fix field name parsing when field contains double underscore #69 2018-06-10 14:27:51 +03:00
Itai Shirav
ab0755ad90 - Rename Model.system to Model._system to prevent collision with a column that has the same name
- Rename `Model.readonly` to `Model._readonly` to prevent collision with a column that has the same name
- The `field_names` argument to `Model.to_tsv` is now mandatory
2018-05-14 07:09:57 -04:00
Itai Shirav
1bd3e63cd4 minor improvements in error handling and testing 2018-05-10 15:24:38 +03:00
M1ha
eb15dd65ec Added custom partitioning to all MergeTree family engines 2018-04-24 15:19:05 +05:00
Itai Shirav
7cc5c50240 Merge branch 'issue-66' of https://github.com/carrotquest/infi.clickhouse_orm into carrotquest-issue-66 2018-04-21 13:50:09 +03:00
Itai Shirav
66eda2214c Make tests pass 2018-04-21 13:27:42 +03:00
Itai Shirav
b6229125a3 Merge branch 'custom_partitioning' of https://github.com/carrotquest/infi.clickhouse_orm into carrotquest-custom_partitioning
# Conflicts:
#	src/infi/clickhouse_orm/engines.py
#	src/infi/clickhouse_orm/models.py
#	tests/test_database.py
#	tests/test_engines.py
2018-04-21 13:04:19 +03:00
Itai Shirav
723bd03548 TRIVIAL fix test 2018-04-21 11:49:14 +03:00
Ivan Ladelshchikov
d0aba55b0c tests: fix Distributed with bad cluster name for v1.1.54370 2018-04-21 11:49:14 +03:00
Ivan Ladelshchikov
6673841bf9 tests: fix readonly error messages for v1.1.54335+
the commit that made the changes
59aa1359c8
2018-04-21 11:49:14 +03:00
Ivan Ladelshchikov
99de0f6637 tests: fix sampling expression for v1.1.54310+
see https://github.com/yandex/ClickHouse/blob/master/CHANGELOG.md#clickhouse-release-1154310-2017-11-01

and the commit that made the change
75c65c7b59 (diff-fa7377955af063c4fa16e20f2595937bR120)
2018-04-21 11:49:14 +03:00
Ivan Ladelshchikov
a5f2fa4d76 add Distributed engine 2018-04-21 11:48:32 +03:00
Ivan Ladelshchikov
3268019216 _fields and _writable_fields are OrderedDicts 2018-04-21 11:48:32 +03:00
Ivan Ladelshchikov
57112f9de6 add ServerError exception 2018-04-21 11:48:32 +03:00
M1ha
0927136ffd 1) Added a test on https://github.com/Infinidat/infi.clickhouse_orm/issues/66
2) Fixed issue
2018-04-20 12:38:36 +05:00
M1ha
7fb0589692 1. Added support of custom partitioning (https://clickhouse.yandex/docs/en/table_engines/custom_partitioning_key/)
2. Added attribute server_version to Database class
3. Changed Engine.create_table_sql(), Engine.drop_table_sql(), Model.create_table_sql(), Model.drop_table_sql()  parameter to db from db_name
2018-04-12 14:21:46 +05:00
Itai Shirav
31ee58967f TRIVIAL fix test 2018-04-07 15:14:14 +03:00
desile
52d63cff60 Add tests demonstrating and checking usage of Q objects for filtration 2017-11-29 23:58:22 +03:00
Itai Shirav
0f9487f589 Added documentation about custom fields 2017-10-31 11:36:17 +02:00
Itai Shirav
b976899f75 Added documentation about custom fields 2017-10-31 10:11:29 +02:00
Itai Shirav
c6905cbc98 Missing brackets 2017-10-30 15:51:10 +02:00
Itai Shirav
fa3f96e464 Merge branch 'migrate_materialized_fields' of https://github.com/carrotquest/infi.clickhouse_orm into carrotquest-migrate_materialized_fields
# Conflicts:
#	tests/sample_migrations/0012.py
#	tests/test_migrations.py (reverted from commit 288db6a28f56b9ae5a4fa1c0ead111f679886488)
2017-10-30 15:49:25 +02:00
Itai Shirav
b758333f42 Merge branch 'dollar_issue_fix' of https://github.com/carrotquest/infi.clickhouse_orm into carrotquest-dollar_issue_fix 2017-10-30 15:30:31 +02:00
Itai Shirav
b93c145cde Merge branch 'tsionyx-develop' into develop 2017-10-30 15:28:37 +02:00
Ivan Ladelshchikov
50e63fb1f8 show field name in error when invalid value assigned 2017-10-10 15:30:37 +04:00
M1ha
5ea20a11a9 Added tests and resolved https://github.com/Infinidat/infi.clickhouse_orm/issues/47 2017-10-10 12:24:17 +05:00
M1ha
911af41ec1 Fixed https://github.com/Infinidat/infi.clickhouse_orm/issues/56 issue 2017-10-04 17:53:23 +05:00
Ivan Ladelshchikov
a89fd63f4c enable skipped JOIN test 2017-10-03 13:26:08 +04:00
Ivan Ladelshchikov
38472012db allow ISO 8601 compliant values in DateTimeField 2017-10-03 13:26:00 +04:00
M1ha
51a814732b Merge branch 'develop' of https://github.com/Infinidat/infi.clickhouse_orm into raw_migrations
# Conflicts:
#	docs/schema_migrations.md
#	tests/sample_migrations/0010.py
#	tests/sample_migrations/0011.py
2017-10-02 15:49:59 +05:00
M1ha
b28e11c69d Added RunPython and RunSQL migration types 2017-09-20 10:08:07 +05:00
Itai Shirav
59564f8c70 Add distinct method to querysets 2017-09-13 12:15:48 +03:00
Itai Shirav
7bbcae574a Add AlterTableWithBuffer migration operation 2017-09-13 12:15:48 +03:00
M1ha
de9f64cd3a Added Merge engine
1) Divided readonly and system flags of Field model. Readonly flag only restricts insert operations, while system flag restricts also create and drop table operations

2) Added Merge engine and tests for it
3) Added docs for Merge engine
4) Added opportunity to make Field readonly. This is useful for "virtual" columns (https://clickhouse.yandex/docs/en/single/index.html#virtual-columns)
2017-09-07 17:44:27 +05:00
Itai Shirav
6bea4cfc68 fix test_freeze 2017-08-20 10:38:05 +03:00
Itai Shirav
9891ccffaf test_freeze fails, possibly due to race condition 2017-08-20 10:38:05 +03:00
Marsel
c4e60ca2a8 Include unicode_literals 2017-08-20 10:37:11 +03:00
Marsel
70d34b097f Fix python3 compatibility 2017-08-20 10:37:11 +03:00
Itai Shirav
06ed53e4ec fix test_freeze 2017-08-20 09:46:00 +03:00