Commit Graph

116 Commits

Author SHA1 Message Date
Robert Schulze
330212e0f4
Remove inherited create() method + disallow copying
The original motivation for this commit was that shared_ptr_helper used
std::shared_ptr<>() which does two heap allocations instead of
make_shared<>() which does a single allocation. Turned out that
1. the affected code (--> Storages/) is not on a hot path (rendering the
performance argument moot ...)
2. yet copying Storage objects is potentially dangerous and was
   previously allowed.

Hence, this change

- removes shared_ptr_helper and as a result all inherited create() methods,

- instead, Storage objects are now created using make_shared<>() by the
  caller (for that to work, many constructors had to be made public), and

- all Storage classes were marked as noncopyable using boost::noncopyable.

In sum, we are (likely) not making things faster but the code becomes
cleaner and harder to misuse.
2022-05-02 08:46:52 +02:00
Alexander Tokmakov
07d952b728 use snapshots for semistructured data, durability fixes 2022-03-17 18:26:18 +01:00
Anton Popov
e8ce091e68 Merge remote-tracking branch 'upstream/master' into HEAD 2022-01-21 20:11:18 +03:00
kssenii
b90f53ffba Fix unit tests 2021-12-27 15:31:49 +03:00
Anton Popov
ccd78e3838 Merge remote-tracking branch 'upstream/master' into HEAD 2021-11-22 17:19:35 +03:00
Stig Bakken
ff46e8bb51 Drop support for DatabaseOrdinary in MaterializedMySQL
1. Dropped support for DatabaseOrdinary for MaterializeMySQL. It
   is marked as experimental, and dropping support makes the code
   more maintaible, and speeds up integration tests by 50%.

2. Get rid of thread name logic for StorageMaterializeMySQL wrapping,
   use setInternalQuery instead (similar to MaterializedPostgreSQL).
2021-11-18 11:46:51 +01:00
Anton Popov
a20922b2d3 Merge remote-tracking branch 'origin/sparse-serialization' into HEAD 2021-11-09 15:36:25 +03:00
Vitaly Baranov
42596b16bc Make StorageLog.cpp to implement both Log and TinyLog engines.
Refactoring of implementation of the Log family.
2021-10-31 03:52:36 +03:00
Nikolai Kochetov
a08c98d760 Move some files. 2021-10-16 17:03:50 +03:00
Nikolai Kochetov
ab28c6c855 Remove BlockInputStream interfaces. 2021-10-14 13:25:43 +03:00
Nikolai Kochetov
ec18340351 Remove streams from formats. 2021-10-11 19:11:50 +03:00
Nikolai Kochetov
939d38b13e Fix gtest build. 2021-10-09 10:01:58 +03:00
Nikolai Kochetov
340b53ef85 Remove some more streams. 2021-10-08 17:03:54 +03:00
Maksim Kita
3fe9fdac96 Added function ngram 2021-10-04 18:53:17 +03:00
Azat Khuzhin
6ddfbf39c8 Cover IS NULL/IS NOT NULL for external dbs in unit tests 2021-09-29 21:45:09 +03:00
Nikolai Kochetov
78a7665f43 Merge branch 'master' into rewrite-pushing-to-views 2021-09-27 10:56:50 +03:00
Anton Popov
7628273df4
Merge pull request #29266 from CurtizJ/normalize-asts
Normalize ASTs in ColumnsDescription
2021-09-25 04:01:54 +03:00
Anton Popov
62dea79b78 better formatting 2021-09-24 14:41:49 +03:00
Anton Popov
0390035963 fix unit test 2021-09-23 16:11:31 +03:00
Anton Popov
8943389d03 normalize ASTs in ColumnsDescription 2021-09-22 18:55:20 +03:00
Azat Khuzhin
23b3085c8b Add more tests for external_table_strict_query 2021-09-21 10:53:22 +03:00
Azat Khuzhin
9c20519f33 Add ability to disable converting expressions to local filter for external queries
Sometimes it is undesirable to remove any expressions from WHERE, since
this may lead to reading the whole table, and this is pretty heavy job
for MySQL and PostgreSQL (even if you read only one column).

So external_table_strict_query had been introduced to prohibit this and
fail the query instead.
2021-09-21 02:41:07 +03:00
Nikolai Kochetov
a790d391c0 Merge branch 'master' into rewrite-pushing-to-views 2021-09-20 19:43:15 +03:00
Nikolai Kochetov
6e0ac024a2 Maybe fix some build. 2021-09-17 15:05:54 +03:00
Azat Khuzhin
0c2f612a86 gtest_transform_query_for_external_database: add test with multiple columns in IN 2021-09-11 14:15:27 +03:00
Azat Khuzhin
ef161f10f7 gtest_transform_query_for_external_database: print input query 2021-09-11 14:15:27 +03:00
Nikolai Kochetov
083b422e87 Try to fix build. 2021-09-10 13:18:04 +03:00
vdimir
3443b3b5c4
Separate functoin buildJoinedPlan, minor refactoring 2021-08-31 15:27:44 +03:00
Anton Popov
61239343e3 Merge remote-tracking branch 'origin/sparse-serialization' into HEAD 2021-08-20 16:33:30 +03:00
Alexey Milovidov
1ad1e62b47 Fix unit test 2021-08-08 04:02:48 +03:00
Anton Popov
e36736b50c Merge remote-tracking branch 'origin/sparse-serialization' into HEAD 2021-08-02 22:52:02 +03:00
Nikolai Kochetov
fa1c223269 Fix some tests. 2021-07-26 13:08:40 +03:00
Anton Popov
3ed7f5a6cc dynamic subcolumns: add snapshot for storage 2021-07-09 06:15:41 +03:00
Nikita Mikhaylov
be4aff0c19 delete test 2021-06-22 23:24:47 +00:00
Ivan Lezhankin
7aa08a04b5 Fix unit-tests again 2021-06-07 16:52:47 +03:00
Nikolai Kochetov
c2aaa29a17 Fix build. 2021-05-31 19:07:45 +03:00
Azat Khuzhin
23981ffd0e Introduce IStorage::flushAndShutdown() 2021-05-16 13:23:53 +03:00
feng lv
c6f8ab9826 fix 2021-05-13 02:05:53 +00:00
Amos Bird
cd6414639e
add metadata_snapshot to getQueryProcessingStage 2021-05-11 18:12:26 +08:00
feng lv
39f68bf5ff fix conflict 2021-05-02 16:33:45 +00:00
Nikita Mikhaylov
9f55424250 move to examples everywhere 2021-04-27 01:51:42 +03:00
feng lv
3df8423b6e fix tests build 2021-04-25 06:51:21 +00:00
Azat Khuzhin
2561a67fd8 Replace !__clang__ with !defined(__clang) to fix gcc builds
$ gg 'if !__clang__' | cut -d: -f1 | sort -u | xargs sed -i 's/#if !__clang__/#if !defined(__clang__)/g'
2021-04-18 23:37:50 +03:00
Ivan
495c6e03aa
Replace all Context references with std::weak_ptr (#22297)
* Replace all Context references with std::weak_ptr

* Fix shared context captured by value

* Fix build

* Fix Context with named sessions

* Fix copy context

* Fix gcc build

* Merge with master and fix build

* Fix gcc-9 build
2021-04-11 02:33:54 +03:00
Alexey Milovidov
39c3efdb00 Fix build 2021-04-01 16:38:04 +03:00
Alexander Kuzmenkov
0171ab95fa
Merge pull request #21640 from vdimir/fix-join-where-database-engine
Remove unknown columns from joined table in where for queries to external database engines
2021-03-29 16:14:10 +03:00
Alexey Milovidov
eadf0248d0 Build fixes 2021-03-16 14:07:53 +03:00
vdimir
91180fa06f
Fix test gtest_transform_query_for_external_database 2021-03-12 17:03:14 +03:00
vdimir
2156401506
Remove unknown columns from joined table in where for queries to external database engines 2021-03-11 20:53:29 +03:00
Vasily Nemkov
4fcc23ec9a Fixed build for GCC-10 2021-02-24 17:08:43 +02:00