Commit Graph

954 Commits

Author SHA1 Message Date
Alexander Kuzmenkov
29052b6a37
Merge pull request #7377 from azat/INSERT-Distributed-MATERIALIZED-cols
* Fix INSERT into Distributed non local node with MATERIALIZED columns

Previous patch e527def18a ("Fix INSERT
into Distributed() table with MATERIALIZED column") fixes it only for
cases when the node is local, i.e. direct insert.

This patch address the problem when the node is not local
(`is_local == false`), by erasing materialized columns on INSERT into
Distributed.

And this patch fixes two cases, depends on `insert_distributed_sync`
setting:

- `insert_distributed_sync=0`

    ```
    Not found column value in block. There are only columns: date. Stack trace:

    2. 0x7ffff7be92e0 DB::Exception::Exception() dbms/src/Common/Exception.h:27
    3. 0x7fffec5d6cf6 DB::Block::getByName(...) dbms/src/Core/Block.cpp:187
    4. 0x7fffec2fe067 DB::NativeBlockInputStream::readImpl() dbms/src/DataStreams/NativeBlockInputStream.cpp:159
    5. 0x7fffec2d223f DB::IBlockInputStream::read() dbms/src/DataStreams/IBlockInputStream.cpp:61
    6. 0x7ffff7c6d40d DB::TCPHandler::receiveData() dbms/programs/server/TCPHandler.cpp:971
    7. 0x7ffff7c6cc1d DB::TCPHandler::receivePacket() dbms/programs/server/TCPHandler.cpp:855
    8. 0x7ffff7c6a1ef DB::TCPHandler::readDataNext(unsigned long const&, int const&) dbms/programs/server/TCPHandler.cpp:406
    9. 0x7ffff7c6a41b DB::TCPHandler::readData(DB::Settings const&) dbms/programs/server/TCPHandler.cpp:437
    10. 0x7ffff7c6a5d9 DB::TCPHandler::processInsertQuery(DB::Settings const&) dbms/programs/server/TCPHandler.cpp:464
    11. 0x7ffff7c687b5 DB::TCPHandler::runImpl() dbms/programs/server/TCPHandler.cpp:257
    ```

- `insert_distributed_sync=1`

    ```
    2019.10.18 13:23:22.114578 [ 44 ] {a78f669f-0b08-4337-abf8-d31e958f6d12} <Error> executeQuery: Code: 171, e.displayText() = DB::Exception: Block structure mismatch in RemoteBlockOutputStream stream: different number of columns:
    date Date UInt16(size = 1), value Date UInt16(size = 1)
    date Date UInt16(size = 0): Insertion status:
    Wrote 1 blocks and 0 rows on shard 0 replica 0, 127.0.0.1:59000 (average 0 ms per block)
    Wrote 0 blocks and 0 rows on shard 1 replica 0, 127.0.0.2:59000 (average 2 ms per block)
     (version 19.16.1.1) (from [::1]:3624) (in query: INSERT INTO distributed_00952 VALUES ), Stack trace:

    2. 0x7ffff7be92e0 DB::Exception::Exception() dbms/src/Common/Exception.h:27
    3. 0x7fffec5da4e9 DB::checkBlockStructure<void>(...)::{...}::operator()(...) const dbms/src/Core/Block.cpp:460
    4. 0x7fffec5da671 void DB::checkBlockStructure<void>(...) dbms/src/Core/Block.cpp:467
    5. 0x7fffec5d8d58 DB::assertBlocksHaveEqualStructure(...) dbms/src/Core/Block.cpp:515
    6. 0x7fffec326630 DB::RemoteBlockOutputStream::write(DB::Block const&) dbms/src/DataStreams/RemoteBlockOutputStream.cpp:68
    7. 0x7fffe98bd154 DB::DistributedBlockOutputStream::runWritingJob(DB::DistributedBlockOutputStream::JobReplica&, DB::Block const&)::{lambda()#1}::operator()() const dbms/src/Storages/Distributed/DistributedBlockOutputStream.cpp:280
    <snip>
    ````

Fixes: #7365
Fixes: #5429
Refs: #6891

* Cover INSERT into Distributed with MATERIALIZED columns and !is_local node

I guess that adding new cluster into server-test.xml is not required,
but it won't harm.

* Update DistributedBlockOutputStream.cpp
2019-10-24 12:35:09 +03:00
Azat Khuzhin
80cf86f100 Cover INSERT into Distributed with MATERIALIZED columns and !is_local node
I guess that adding new cluster into server-test.xml is not required,
but it won't harm.
2019-10-23 21:55:08 +03:00
Amos Bird
295864e6e0
better scalar query 2019-10-23 21:37:54 +08:00
Alexander Kuzmenkov
9c1f8109c7
Merge pull request #7402 from Enmk/odbc_bridge_nullable_fix
Fixed NULL-values in nullable columns through ODBC-bridge
2019-10-21 19:09:27 +03:00
Vasily Nemkov
e080324fd0 Fixed NULL-values in nullable columns through ODBC-bridge 2019-10-21 12:13:33 +03:00
tavplubix
0046b9f137 Wait for jobs to finish on exception (fixes rare segfaults) (#7350) 2019-10-17 17:41:27 +03:00
Vitaly Baranov
18ccb4d64d Move backQuote() and quoteString() to a separate file, use StringRefs. 2019-10-11 00:18:52 +03:00
Vitaly Baranov
12d1d87d64 Move authentication code to a separate class. 2019-10-11 00:18:52 +03:00
Alexey Milovidov
a19f6513ce Added example config with macros 2019-10-09 04:15:23 +03:00
alexey-milovidov
5c2d478543
Merge pull request #7212 from ClickHouse/aku/field-includes
Include Field.h and FieldVisitor.h into fewer files.
2019-10-08 22:40:30 +03:00
alexey-milovidov
b9aa5d812d
Merge pull request #7171 from nikvas0/nikvas0/lazy_db
Lazy Database
2019-10-08 22:15:55 +03:00
Alexander Kuzmenkov
367c537106 Do not include Field.h everywhere through SettingsCommon.h.
Move the methods of SettingsCollection<> that are dependent on Field to
a separate file, and include it once for each instantiation. This allows
to work on Field without always recompiling the entire project.
2019-10-07 20:23:05 +03:00
proller
594c535bd4 Build fixes (#7063)
* Build fixes

*            fix

* Fix

* fix

* Fix install(export..

* Freebsd fixes

* Freebsd fixes

* Fix warning

* fix

* More PRIVATE linking

* Fix review

* Timmy

* fix

* fix
2019-10-05 22:25:31 +03:00
Alexander Tokmakov
a58996817f allow query parameters in Values 2019-10-02 22:54:40 +03:00
Vasilyev Nikita
5793a02ef9 impr Lazy database 2019-10-01 15:44:17 +03:00
Azat Khuzhin
740e4c5851
Avoid use of uninitialized values in MetricsTransmitter
Defer thread creation after values had been initialized correctly.
2019-10-01 10:16:39 +03:00
Amos Bird
dadc613072 Get rid of malloc symbols in libcommon (#7134) 2019-09-30 14:58:32 +03:00
alesapin
4fdb5a61e5 Rename ExternalDictionaries to ExternalDictionariesLoader 2019-09-26 13:41:33 +03:00
Alexander Kuzmenkov
f3bde19b74 Do not use iterators in find() and emplace() methods of hash tables.
Instead, these methods return a pointer to the required data as they are
stored inside the hash table. The caller uses overloaded functions to
get the key and "mapped" values from this pointer. Such an interface
avoids the need for constructing iterator-like wrapper objects, which is
especially important for compound hash tables such as the future
StringHashMap.
2019-09-24 17:44:35 +03:00
Ivan Lezhankin
4b143c3e0f Merge remote-tracking branch 'upstream/master' into issue-6459 2019-09-23 16:07:19 +03:00
Alexey Milovidov
70bc89557f Updates for #6969 2019-09-23 01:57:06 +03:00
Azat Khuzhin
59763cbb3a
Add ability to send events with absolute values to graphite
<events> sends only deltas for events, while sometimes it is more
convenient to get absolute values (for example to calculate rate).

This patch introduces another directive -- <events_absolute> that will handle
this.

v0: use <events> as bool/string
v2: use <events_absolute>true</events_absolute> over <events>absolute</events>
2019-09-21 02:46:47 +03:00
Ivan Lezhankin
9e46118edd Merge remote-tracking branch 'upstream/master' into issue-6459 2019-09-20 21:25:55 +03:00
Ivan Lezhankin
8cb0e58bc7 Fix build for all targets 2019-09-20 21:13:51 +03:00
alexey-milovidov
d8cd375c8b
Merge pull request #6958 from proller/fix25
Build fixes
2019-09-18 01:48:46 +03:00
alesapin
110568f980
Merge pull request #6947 from yandex/add_gdb_index
Add gdb index to builds with debug info
2019-09-17 17:59:27 +03:00
proller
e7f069c78c fixes 2019-09-17 12:33:46 +00:00
alesapin
33c3f7a6a2 Add gdb-index for gold linker with gdb-add-index tool 2019-09-17 12:49:27 +03:00
alesapin
719854b49b
Merge pull request #6939 from dimarub2000/perfomance_test_all_of
all_of setting in performance-test now works properly
2019-09-16 13:04:23 +03:00
Ivan Lezhankin
8c356a3830 WIP 2019-09-15 18:20:31 +03:00
Ivan Lezhankin
01fdb802d4 Useful changes 2019-09-15 13:35:12 +03:00
dimarub2000
24d0055dc8 Typo 2019-09-13 19:24:59 +03:00
dimarub2000
26b1bc2093 all_of setting now works properly 2019-09-13 19:18:26 +03:00
alesapin
02cff38fef Merge with master 2019-09-13 13:58:23 +03:00
Nikolai Kochetov
86bee0b8b5
Merge pull request #6684 from yandex/processors-2
Processors 2
2019-09-13 11:58:04 +03:00
alexey-milovidov
12c26e6013
Merge pull request #6891 from yandex/low_cardinality_in_native_http
Low cardinality in native http
2019-09-13 09:01:08 +03:00
Nikolai Kochetov
1319168a3a Merge branch 'master' into processors-2 2019-09-12 16:28:51 +03:00
Nikolai Kochetov
d7596e51b7 Removed convert_types_to_low_cardinality from NativeBlockInputStream. 2019-09-12 14:33:46 +03:00
alexey-milovidov
c5cf4fa4f4
Merge pull request #6878 from azat-archive/build--fixes
Trivial build fixes (mostly for -DSPLIT_SHARED_LIBRARIES=ON)
2019-09-12 03:25:19 +03:00
Azat Khuzhin
d682a271ff
Missing Poco XML for copier (fixes -DSPLIT_SHARED_LIBRARIES=OFF build) 2019-09-12 02:04:43 +03:00
Amos Bird
93c0880ca7 Fix non-ssl build. 2019-09-12 04:20:27 +08:00
alexey-milovidov
6b1352f65c
Merge pull request #6893 from malkfilipp/client_older_than_server
Display warning if clickhouse-client version is older than clickhouse-server.
2019-09-11 16:02:35 +03:00
malkfilipp
62f85c0a3a Switch to tuples 2019-09-11 11:41:57 +03:00
malkfilipp
b63d2422d0 Change versions comparing from string to number 2019-09-11 01:29:21 +03:00
alexey-milovidov
8fa72c6804
Update Client.cpp 2019-09-10 23:10:23 +03:00
malkfilipp
058c04e759 Add a warning if the client is older than the server 2019-09-10 22:28:33 +03:00
Amos Bird
a1310ffbe6 Split libdbms.so using object library
Now the linking time of incremental builds are around 1-2 seconds
2019-09-11 01:56:01 +08:00
Nikolai Kochetov
038aa82305 Update TCPHandler 2019-09-09 17:57:12 +03:00
Nikolai Kochetov
c9cca3ba8b Merged with master 2019-09-09 16:20:30 +03:00
alesapin
27419c965e Merge with master 2019-09-09 14:13:36 +03:00