Commit Graph

54 Commits

Author SHA1 Message Date
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
f24749112e support decimal fields 2018-10-14 09:26:07 +03:00
Itai Shirav
2bca8b4fb8 Improve creation time of model instances by keeping a dictionary of default values 2018-05-14 07:37:56 -04: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
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
6fa6786a9c Update docs 2018-04-21 12:10:30 +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
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
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
0391482ec7 Fixed 2 bugs in Merge engine:
1) If database name contained some signes (+, -) create merge table failed.
2) When merge table was created and set_database was not previously called, "currentDatabase()" was also used, which could lead to errors on multiple databases.
2017-09-18 15:53:15 +05: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
Marsel
c4e60ca2a8 Include unicode_literals 2017-08-20 10:37:11 +03:00
Dzianis Sivets
1b0ea035b8 Nullable fields support 2017-06-16 20:37:37 +03:00
Itai Shirav
d02d6b14eb - Added ne and not_in queryset operators
- Querysets no longer have a default order when `order_by` is not called
- Added `autocreate` flag to database initializer
- Fix for SELECT FROM JOIN (#37)
2017-06-15 12:19:17 +03:00
Itai Shirav
00ca503b7c Generate a class reference document 2017-05-05 15:31:08 +03:00
Itai Shirav
4625a7e00f Generate a class reference document 2017-05-03 08:36:47 +03:00
Itai Shirav
dbea017d60 Add support for FixedString fields 2017-04-25 16:03:52 +03:00
Itai Shirav
3487f3b241 initial work on query builder 2017-04-24 13:13:31 +03:00
Itai Shirav
dacf88adbf Performance improvement: build a _writable_fields list once instead of calculating it every time it's needed 2017-04-05 18:20:01 +03:00
Itai Shirav
1d573ded96 Merge branch 'develop' of https://github.com/emakarov/infi.clickhouse_orm into emakarov-develop
# Conflicts:
#	src/infi/clickhouse_orm/models.py
#	tests/test_database.py
2017-02-19 09:12:00 +02:00
M1ha
6f975a801c 1) Added get_database method to Model
2) Added some assertions in tests for adding _database attribute in selects and inserts
3) database.insert() method sets _database
2017-02-19 09:04:32 +02:00
M1ha
f3e75cfae3 1) Removed database params for working with SystemPart operations
2) Added _database attribute to each model, got through select
2017-02-19 09:04:32 +02:00
M1ha
14f2ab78b5 Fixed:
1) Added partition working to readme
2) replaced insertable_only parameter with include_readonly
3) Added empty string alias and materialized field control
2017-02-19 09:04:32 +02:00
M1ha
27217102da Fixed bugs, connected to merge 2017-02-19 09:04:05 +02:00
M1ha
5f2195f87f 1) Replaced is_insertable() field mehtod with readonly property (unification with model and tables)
2) Method SystemPart.all() was replaced with get()
3) Added conditions parameter to SystemPart.get() and SystemPart.get_active() methods.
2017-02-19 09:02:56 +02:00
M1ha
58b7a9aeac 1) Added to_dict model method
2) Fixed bug in test_freeze cleaning, if backups don't contain all directory names (e. g. 1, 2, 3, 6, 7 - count=5, created_backup=8, not 6)
2017-02-19 09:01:33 +02:00
M1ha
db61efd4cc 1) Added readonly models
2) Added SystemPart models in order to execute partition operations
2017-02-19 09:01:33 +02:00
emakarov
86a3fec143 cleaner code for Buffer engine and Buffer Model class 2017-02-07 21:32:51 +03:00
emakarov
e2e02ab029 Conflict resolved 2017-02-07 21:19:23 +03:00
emakarov
d19787cb9f Fix for create_table_sql for Buffer table 2017-02-07 20:41:26 +03:00
emakarov
c9697de56c Buffer engine initial commit 2017-02-07 19:19:50 +03:00
Itai Shirav
f29d737f29 Always keep datetime fields in UTC internally, and convert server timezone to UTC when parsing query results. 2017-02-07 15:25:16 +02:00
Itai Shirav
6c4640bb24 TRIVIAL code style 2017-02-07 12:20:47 +02:00
M1ha
2509b5b2e3 Rewritten Alias and Materialized fields to field parameters like default. 2017-01-27 10:46:12 +05:00
M1ha
ca341ea997 Added MaterializedField and AliasField 2017-01-26 15:43:41 +05:00
Itai Shirav
66f8e8a4ae Performance improvements when inserting
escape - check first if there are any special chars before replacing
send lines in batches
Use list comprehension in to_tsv
2016-09-15 11:32:07 +03:00
Itai Shirav
13bd956fc6 Add support for array fields 2016-09-01 15:25:48 +03:00
Itai Shirav
8fc3a31d4b Add support for enum fields 2016-08-31 15:43:06 +03:00
Itai Shirav
071bcd283d Add Python 3 support 2016-08-01 10:28:10 +03:00
Itai Shirav
ffa99f3f10 cache ad hoc models 2016-07-11 17:11:56 +03:00
Itai Shirav
c6c9f13e51 Support dashes and other special characters in database names and table names 2016-06-30 11:36:54 +03:00
Itai Shirav
6e786d75e9 Support model class inheritance 2016-06-29 14:52:55 +03:00
Itai Shirav
64f8cde1c0 documentation 2016-06-26 16:52:25 +03:00
Itai Shirav
92ea9d413e support ad-hoc models 2016-06-26 15:11:16 +03:00
Itai Shirav
9262f0eae6 add database.select and field range checks 2016-06-23 19:05:44 +03:00