Commit Graph

193 Commits

Author SHA1 Message Date
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
fanchi
5059902947 Added a test for isinstance and fixed a bug 2018-07-05 16:36:51 +03:00
fanchi
3fa18d32d9 Add method to check instance types of field and its inner fields 2018-07-04 18:32:08 +03:00
fanchi
a836031d36 Trivial fix nullable field disregard extra_null_values 2018-07-02 10:47:36 +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
e0b125f6a6 Merge branch 'add-timezone-breaker' of https://github.com/vv-p/infi.clickhouse_orm into vv-p-add-timezone-breaker 2018-06-10 14:08:20 +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
1bd3e63cd4 minor improvements in error handling and testing 2018-05-10 15:24:38 +03:00
Понаревский Владимир
c20846122f Fix after review 2018-05-08 17:24:27 +03:00
Понаревский Владимир
793726adb2 Fix after review 2018-05-08 16:41:50 +03:00
Понаревский Владимир
a5c93dc176 Add disabler for the timezone getting 2018-05-08 13:19:45 +03:00
M1ha
eb15dd65ec Added custom partitioning to all MergeTree family engines 2018-04-24 15:19:05 +05:00
Itai Shirav
20e609f952 Update docs 2018-04-21 15:23:00 +03: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
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
cd8d82c226 Update docs 2018-04-07 15:20:33 +03:00
desile
c98edc4f77 Added doc for between operator 2017-12-03 21:54:58 +03:00
pv.larkin
d553aaf9eb Add between operator 2017-11-29 14:52:52 +03:00
pv.larkin
0342dc863b Add OR and AND operations for Q objects 2017-11-29 14:27:54 +03: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
Itai Shirav
314090fa56 Merge branch 'raw_migrations' of https://github.com/carrotquest/infi.clickhouse_orm into carrotquest-raw_migrations 2017-10-30 15:09:23 +02:00
Itai Shirav
dcbf371077 Merge branch 'develop' of https://github.com/anci/infi.clickhouse_orm into anci-develop 2017-10-30 15:07:00 +02:00
Itai Shirav
48c08b869e Merge branch 'carrotquest-develop' into develop 2017-10-30 15:00:17 +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
b952f93e78 Merge branch 'develop' of https://github.com/Infinidat/infi.clickhouse_orm into migrate_materialized_fields 2017-10-10 11:24:35 +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
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
anci
322b4a0741 add field names list explicitly to Database.insert method 2017-09-18 21:50:40 +03: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
Itai Shirav
8304ddca5c Update docs 2017-09-13 12:17:26 +03: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
430872b958 Added readonly parameter to all Field subclasses 2017-09-11 10:17:23 +05:00
M1ha
b7cf611595 Fixed error text 2017-09-08 09:15:30 +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
M1ha Shvn
0829936940 Merge branch 'develop' into develop 2017-08-22 13:33:01 +05:00
M1ha
508c959d2c Fixed bug with getting SystemPart info on actual ClickHouse version (1.1.54245) 2017-08-22 13:27:40 +05:00
Marsel
88b1cea98c Fix TypeError in Py3 2017-08-20 10:37:11 +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
67e0442645 - Nullable arrays not supported in latest ClickHouse version
- system.parts table no longer includes "replicated" column in latest ClickHouse version
2017-08-20 09:30:40 +03:00
Itai Shirav
639867bb32 - Added QuerySet.paginate()
- Support for basic aggregation in querysets
2017-08-14 12:14:52 +03:00
Itai Shirav
cb6c329d32 Migrations: when creating a table for a BufferModel, create the underlying table too if necessary 2017-06-26 11:09:57 +03:00
Itai Shirav
1966896850 Support queryset slicing 2017-06-24 12:28:42 +03:00
Itai Shirav
2c0ef08ee1 Minor refactoring of extra_null_values 2017-06-23 11:10:49 +03:00
Dzianis Sivets
9b7e7a179e NullableField of ArrayField 2017-06-16 20:38:01 +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
Ivan Ladelshchikov
fcb8196d3d fix unicode params for Py2 2017-06-06 20:16:56 +05:00
Itai Shirav
6301ab468e fix queryset problem with non-ascii chars 2017-05-05 15:39:01 +03:00
Itai Shirav
00ca503b7c Generate a class reference document 2017-05-05 15:31:08 +03:00
Itai Shirav
3f8434fe50 rename QuerySet.query to as_sql 2017-05-05 15:21:55 +03:00
Itai Shirav
4625a7e00f Generate a class reference document 2017-05-03 08:36:47 +03:00
Itai Shirav
be474b3aed Add simple engines: TinyLog, Log, Memory 2017-04-28 18:36:40 +03:00
Itai Shirav
abbe334875 queryset tests 2017-04-26 15:46:34 +03:00
Itai Shirav
dbea017d60 Add support for FixedString fields 2017-04-25 16:03:52 +03:00
Itai Shirav
2b8c0b6c38 Do not send readonly=1 when connection is already in readonly mode (this causes a database error) 2017-04-25 08:39:24 +03:00
Itai Shirav
3487f3b241 initial work on query builder 2017-04-24 13:13:31 +03:00
M1ha
533e6e187a Fixed "TypeError: a bytes-like object is required, not 'str'" on \n insertions 2017-04-06 11:12:59 +05:00
M1ha
76718426bf Fixed bug with StringIO import, incompatible with python 3 2017-04-06 10:54:26 +05: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
c5a9b16eac Performance improvement: skip utils.escape for numeric fields 2017-04-05 18:19:12 +03:00
Itai Shirav
21907966b2 Reduce memory footprint of Database.insert() 2017-04-05 17:42:42 +03:00
Itai Shirav
ec99044fab Greatly improve performance when inserting large strings (credit to M1hacka for identifying the problem) 2017-04-05 17:09:56 +03:00
Itai Shirav
04340884be Add tests for engine types 2017-04-04 15:21:08 +03:00
Itai Shirav
526b6d53b9 Merge branch 'develop' of https://github.com/leenr/infi.clickhouse_orm into leenr-develop 2017-04-04 14:49:13 +03:00
Itai Shirav
e1ef96f05b Add a test for "with totals" 2017-04-04 14:41:23 +03:00
Itai Shirav
b27756d44b Merge branch 'with-totals-fix' of https://github.com/pilosus/infi.clickhouse_orm into pilosus-with-totals-fix 2017-04-04 12:47:18 +03:00
Itai Shirav
015a4512e7 Fix datetime tests 2017-04-04 12:41:18 +03:00
nikepan
b2a5482a65 blank datetime fix beauty 2017-03-27 17:07:10 +03:00
nikepan
e5222ffcb0 blank datetime fix improve 2017-03-27 17:03:13 +03:00
nikepan
9baa863d1f blank datetime better fix 2017-03-27 16:51:34 +03:00
nikepan
1460d4c85e blank datetime fix 2017-03-27 16:30:38 +03:00
Vitaly Samigullin
84681ec979 GROUP BY WITH TOTALS workaround to skip blank line separator making parsing 2017-03-12 16:49:54 +03:00
leenr
b4a1d14a12 Make ver_col in ReplacingMergeTree optional 2017-03-04 15:43:38 +03:00
leenr
1b8c4dbec1 Add support for ReplacingMergeTree (https://clickhouse.yandex/reference_en.html#ReplacingMergeTree) 2017-03-04 15:29:19 +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