Commit Graph

2524 Commits

Author SHA1 Message Date
Alexey Milovidov
993a5e44d0 Inverted dependencies in StorageFactory (continued) [#CLICKHOUSE-2]. 2017-12-30 07:00:39 +03:00
Alexey Milovidov
ffca152c45 Inverted dependencies in StorageFactory [#CLICKHOUSE-2]. 2017-12-30 07:00:39 +03:00
Alexey Milovidov
7244514859 Less dependencies in StorageFactory: development [#CLICKHOUSE-2]. 2017-12-30 07:00:39 +03:00
proller
70e35d0bcc Build fixes (#1718)
* Embedded compiler fixes

* common lib not needed for clang and lld

* Fix pthread link

* Fix shared build

* Arm fixes 1

* arm fix

* Unused fix

* Build fixes

* release --pbuilder

* release pbuilder fix

* FORCE_PBUILDER_CREATE=1 release

* release: Auto use clang with sanitizers

* Fix build without poco data odbc lib. zlib arm build fix.

* Fix freebsd build and build without mysql

* Tests: Dont eat my cpu!

* Test me
2017-12-29 18:48:20 +03:00
Nikolai Kochetov
645a8d86f2 fix build 2017-12-28 21:33:07 +03:00
Nikolai Kochetov
ea41197c51 merger with master 2017-12-28 21:20:53 +03:00
Alexey Milovidov
4c3fba2719 Table functions MySQL and ODBC: development [#CLICKHOUSE-3114]. 2017-12-28 08:26:45 +03:00
Alexey Milovidov
fcdd5de47d Revert "Removed questionable code (2) [#CLICKHOUSE-2]."
This reverts commit fcabe8b888.
2017-12-28 07:39:19 +03:00
Alexey Milovidov
798299ba89 Merge branch 'aavdonkin-master' 2017-12-28 07:33:55 +03:00
Alexey Milovidov
1fecbc3ef4 Merging [#CLICKHOUSE-3114] 2017-12-28 07:33:35 +03:00
Alexey Milovidov
4448766266 Merging [#CLICKHOUSE-3114] 2017-12-28 07:28:05 +03:00
Alexey Milovidov
4cde48fb20 Merge branch 'master' of github.com:yandex/ClickHouse 2017-12-28 01:40:42 +03:00
Alexey Milovidov
104b09604a Merging [#CLICKHOUSE-3114] 2017-12-28 00:45:05 +03:00
Alexey Milovidov
f5b1ad1fa2 Merge branch 'master' into aavdonkin-master 2017-12-27 21:50:01 +03:00
Alexey Milovidov
b79aa5db4e Update documentation about required ZK version; Miscellaneous #1458 2017-12-27 21:34:58 +03:00
Alexey Milovidov
09262ae0d7 Merge branch 'master' of github.com:yandex/ClickHouse 2017-12-27 01:56:30 +03:00
Alexey Milovidov
b2fcf06353 Merging [#CLICKHOUSE-3114] 2017-12-27 00:34:06 +03:00
Alexey Zatelepin
280c147a89 remove dependency to StorageReplicatedMergeTree [#CLICKHOUSE-2] 2017-12-26 22:15:15 +03:00
Alexey Milovidov
f87761df90 Merged with master; applied clang-format with newer files [#CLICKHOUSE-3114]. 2017-12-26 21:32:17 +03:00
Nikolai Kochetov
5a3506eada merged with master 2017-12-26 13:54:39 +03:00
Alexey Milovidov
c89041ce63 Removed questionable code (2) [#CLICKHOUSE-2]. 2017-12-26 01:51:04 +03:00
Alexey Milovidov
ec71908b00 Revert "Removed questionable code (2) [#CLICKHOUSE-2]."
This reverts commit fcabe8b888.
2017-12-26 00:57:29 +03:00
Alexey Milovidov
fcabe8b888 Removed questionable code (2) [#CLICKHOUSE-2]. 2017-12-26 00:32:33 +03:00
Alexey Milovidov
a85b2e5a95 Removed questionable code [#CLICKHOUSE-2]. 2017-12-26 00:10:46 +03:00
Alexey Milovidov
bcfde7c6c0 Get rid of DataTypeNested, part 2 [#CLICKHOUSE-2]. 2017-12-25 21:58:39 +03:00
Nikolai Kochetov
2ed66515ff Date type for range_min and range_max in Dictionare(range_hashed) [#CLICKHOUSE-3521] 2017-12-25 21:29:04 +03:00
Alexey Zatelepin
c3348e27a4 shorter [#CLICKHOUSE-2] 2017-12-25 20:31:14 +03:00
proller
fb7047bfe8 Fix 32bit build 2017-12-25 20:17:32 +03:00
Alexey Zatelepin
b07dbf52c6 remove unused function [#CLICKHOUSE-2] 2017-12-25 14:40:59 +03:00
Alexey Milovidov
8ff93487e3 Miscellaneous [#CLICKHOUSE-2]. 2017-12-25 07:01:46 +03:00
Marek Vavruša
aed35f16ca StorageKafka: move limits to individual Kafka streams instead of UnionBlockInputStream
The UnionBlockInputStream might read an extra block from the asynchronous child streams otherwise,
which will never be used, but offsets for this block would be committed, which would result in
lost messages.
2017-12-24 09:57:20 +03:00
Marek Vavruša
77393287ab StorageKafka: make commit message only if messages are consumed 2017-12-24 09:57:20 +03:00
Alexey Milovidov
b5af4c95bf Using IDataType::equals to compare for type equivalence #1650 2017-12-23 04:55:46 +03:00
Alexey Zatelepin
6d5ce3fa9a revert BackgroundSchedulePool usage in Replicated tables 2017-12-22 21:25:54 +03:00
Alexey Milovidov
5b59a6f4cb Whitespace [#CLICKHOUSE-2]. 2017-12-21 20:43:32 +03:00
Alexey Milovidov
584a263d79 Simplification of aggregate functions: development [#CLICKHOUSE-2]. 2017-12-21 05:08:25 +03:00
Marek Vavruša
3e1ce9bf26 StorageKafka: nicer interface for claiming consumers 2017-12-21 00:46:50 +03:00
Marek Vavruša
9c57def8df StorageKafka: update comments 2017-12-21 00:46:50 +03:00
Marek Vavruša
c6e959d1e9 StorageKafka: extended configuration, parallel consumers, offset tracking
This contains many fixes and corrections for the Kafka engine.
Most notably it now supports extended configuration similarly to GraphiteMergeTree.
Now it also allows specification of consumer count to parallelize consumption of
multiple partitions both in materialized views and in SELECT queries.

The offsets are now committed in the insertSuffix() method after all rows
are successfully read. If an exception is thrown during reading, affected consumer
unsubscribes from all assignments and rejoins the consumer group to rewind offsets.
This means that the consumer won't lose messages in case of write failures.
2017-12-21 00:46:50 +03:00
Marek Vavruša
6d4f106f11 StorageMaterializedView: update dependencies on DETACH TABLE
Previously the dependencies were updated only on DROP TABLE, so
detaching a materialized view and inserting to source table thrown an exception.
2017-12-21 00:46:50 +03:00
Alexey Zatelepin
c422b5b2e4 take PreCommitted parts into account when calculating total merge size [#CLICKHOUSE-3508] 2017-12-20 20:52:28 +03:00
Alexey Zatelepin
835b957e95 add comments [#CLICKHOUSE-3508] 2017-12-20 20:40:36 +03:00
Alexey Zatelepin
d35baafde8 check PreCommitted parts when executing log entries and in PartChecker [#CLICKHOUSE-3508] 2017-12-20 20:04:14 +03:00
Alexey Zatelepin
2340e55d0e revert to old behaviour of getPartIfExists() [#CLICKHOUSE-3508] 2017-12-20 20:04:14 +03:00
Alexey Milovidov
bc160f5e4d Fixed error [#CLICKHOUSE-2]. 2017-12-18 09:49:38 +03:00
Alexey Milovidov
32fcc7b3f0 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-18 09:23:19 +03:00
Alexey Milovidov
816169a3be Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-18 08:38:42 +03:00
Alexey Milovidov
11d3b9c710 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-18 08:37:20 +03:00
Alexey Milovidov
c5d5296889 Miscellaneous [#CLICKHOUSE-2]. 2017-12-18 07:07:26 +03:00
Alexey Milovidov
7c802ee3de Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-18 05:37:08 +03:00
Alexey Milovidov
f95ddfce10 Make DataTypes totally immutable [#CLICKHOUSE-2]. 2017-12-18 04:11:48 +03:00
Alexey Milovidov
8484f086a5 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-17 10:59:14 +03:00
Alexey Milovidov
6ad5be5eee Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-17 10:15:13 +03:00
Alexey Milovidov
d497d010d7 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-17 08:21:04 +03:00
Alexey Milovidov
62f7c25522 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-16 09:19:21 +03:00
Alexey Milovidov
8302769563 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-16 03:49:03 +03:00
Alexey Milovidov
7284a64740 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-16 00:32:25 +03:00
Alexey Milovidov
ecd56de6a8 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-16 00:11:24 +03:00
Alexey Milovidov
c4bbc1c963 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-15 23:48:46 +03:00
Alexey Milovidov
8ce60e3af0 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-15 22:53:11 +03:00
Alexey Milovidov
d0ca8b2533 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-15 21:23:05 +03:00
Alexey Milovidov
b2aff7521b Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-15 06:47:43 +03:00
Alexey Milovidov
401fd2d6d8 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-15 05:36:40 +03:00
Alexey Milovidov
fb38ef9a8e Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-14 06:56:56 +03:00
Alexey Milovidov
bed2d644e6 Merge remote-tracking branch 'origin/master' into cow_columns 2017-12-14 04:44:35 +03:00
Alexey Milovidov
f3bb24a3bf Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-14 04:43:19 +03:00
Alexander Avdonkin
331c5c3db8 Merge branch 'master' of github.com:aavdonkin/ClickHouse 2017-12-13 19:48:27 +03:00
Alexander Avdonkin
d1ee8c5358 Fixed issues 2017-12-13 19:46:57 +03:00
Alexey Milovidov
819287b697 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-13 04:27:53 +03:00
Nikolai Kochetov
cd0eb53e36 added StorageSystemPartsBase [#CLICKHOUSE-3328] 2017-12-12 21:38:56 +03:00
Nikolai Kochetov
97917098a0 added system.parts_columns as a copy of system.parts [#CLICKHOUSE-3328] 2017-12-12 21:38:41 +03:00
alexey-milovidov
62fb610e4e
Merge pull request #1447 from yandex/support-table-functions-for-desc-and-insert
Support table functions for desc and insert
2017-12-11 23:28:10 +03:00
Alexey Milovidov
7d04e67262 Merge branch 'write-buffer-from-arena' 2017-12-11 21:25:03 +03:00
Alexey Milovidov
90848adc6b Fixed translation [#CLICKHOUSE-2]. 2017-12-11 21:19:35 +03:00
Nikolai Kochetov
f71b8bf58f merged with master 2017-12-11 21:13:24 +03:00
Nikolai Kochetov
68ccadfc6c removed owned_cluster_for_insertion from StorageDistributed [#CLICKHOUSE-3397] 2017-12-11 21:09:20 +03:00
Alexey Milovidov
c3015bece3 Miscellaneous [#CLICKHOUSE-2]. 2017-12-11 01:44:04 +03:00
Alexey Milovidov
71116c4d82 Fixed error [#CLICKHOUSE-2]. 2017-12-09 20:16:24 +03:00
Alexey Milovidov
3def5f03f5 Cleanup semantics of data types [#CLICKHOUSE-2]. 2017-12-09 19:17:37 +03:00
Alexey Milovidov
d2cfda4d9b Cleanup semantics of data types [#CLICKHOUSE-2]. 2017-12-09 19:17:37 +03:00
alexey-milovidov
1d0df29e0f
Merge branch 'master' into master 2017-12-08 11:29:01 +03:00
Alexey Milovidov
8cc0bae1bc Simplification of Nullable [#CLICKHOUSE-2] 2017-12-08 02:07:41 +03:00
Alexey Milovidov
f5a06cee5b Simplification of Nullable [#CLICKHOUSE-2] 2017-12-07 11:47:13 +03:00
Alexey Milovidov
e776a4fc67 Simplification of Nullable [#CLICKHOUSE-2] 2017-12-07 07:26:30 +03:00
Alexander Avdonkin
89db5040df Implemented MySQL and ODBC storages and table functions 2017-12-05 16:32:02 +03:00
alexey-milovidov
6c86bc2506
Merge pull request #1584 from yandex/table-system-models
added system.models
2017-12-05 00:25:04 +03:00
alexey-milovidov
b7f656d289
Merge pull request #1541 from yandex/fix-replica-queue-load
Add idempotent retries of updating the replica queue in ZooKeeper
2017-12-05 00:16:03 +03:00
Alexey Milovidov
7e2100d7f7 Fixed exception message [#CLICKHOUSE-2]. 2017-12-04 23:37:28 +03:00
alexey-milovidov
575a67b5d2
Merge branch 'master' into support-table-functions-for-desc-and-insert 2017-12-04 23:34:27 +03:00
Alexey Zatelepin
fb9c7ab81d remove experimental_allow_extended_storage_definition_syntax Setting (turn on by default) [#CLICKHOUSE-3000] 2017-12-04 22:45:18 +03:00
proller
826936cf9b
Better fix of std::numeric_limits<__uint128_t> (#1585)
* Fix std::numeric_limits<__uint128_t>

* clean

* Better fix of std::numeric_limits<__uint128_t>
2017-12-04 19:12:56 +03:00
Nikolai Kochetov
de62ae6b1b added system.parts_columns as a copy of system.parts [#CLICKHOUSE-3328] 2017-12-04 18:44:31 +03:00
Nikolai Kochetov
d2710bd0f4 added system.models [#CLICKHOUSE-3477] 2017-12-04 16:32:49 +03:00
proller
4c3dfb97df
Clang: Fix std::numeric_limits<__uint128_t> (#1583)
Fix std::numeric_limits<__uint128_t>
2017-12-04 16:03:40 +03:00
Alexey Milovidov
06dfe7f562 Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-12-03 08:55:49 +03:00
Alexey Milovidov
a80259d0cb Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-12-03 07:57:33 +03:00
Alexey Milovidov
418e5012e7 Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-12-03 07:43:38 +03:00
Alexey Milovidov
3717d80017 Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-12-03 07:40:21 +03:00
Alexey Milovidov
c472172fa8 Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-12-03 07:25:41 +03:00
Alexey Milovidov
a597f3e7d9 Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-12-03 07:23:03 +03:00
Alexey Milovidov
3786786aeb Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-12-03 07:19:46 +03:00
Alexey Milovidov
294c0ba5cf Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-12-03 06:43:48 +03:00
Alexey Milovidov
ab022d0882 Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-12-03 05:59:59 +03:00
Alexey Milovidov
1aa99092c3 Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-12-03 05:15:35 +03:00
Alexey Milovidov
a9ddaa2b19 Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-12-03 04:49:54 +03:00
Alexey Milovidov
a813287afd Rewrite MergeTreePartChecker [#CLICKHOUSE-2838]. 2017-12-03 03:48:19 +03:00
Alexey Milovidov
464d962010 Rewrite MergeTreePartChecker [#CLICKHOUSE-2838]. 2017-12-03 03:46:34 +03:00
Alexey Milovidov
5510bea3f8 Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-12-03 01:12:27 +03:00
Alexey Milovidov
b932a193e2 Better [#CLICKHOUSE-2]. 2017-12-02 06:25:52 +03:00
Alexey Milovidov
c748493a86 Better [#CLICKHOUSE-2]. 2017-12-02 05:47:12 +03:00
Alexey Milovidov
7196602e12 Better [#CLICKHOUSE-2]. 2017-12-02 00:51:50 +03:00
Alexey Milovidov
54e601019c Better [#CLICKHOUSE-2]. 2017-12-02 00:40:58 +03:00
Alexey Milovidov
a85773bdbc Fixed error [#CLICKHOUSE-2838]. 2017-12-02 00:30:43 +03:00
Alexey Milovidov
acd78e4891 Better [#CLICKHOUSE-2]. 2017-12-02 00:13:25 +03:00
Alexey Milovidov
1efef27af9 Better [#CLICKHOUSE-2] 2017-12-01 23:38:50 +03:00
Alexey Milovidov
bdd25b15bd Better [#CLICKHOUSE-2]. 2017-12-01 22:34:51 +03:00
Alexey Milovidov
1a6cb2989b Better [#CLICKHOUSE-2]. 2017-12-01 21:36:55 +03:00
Nikolai Kochetov
5cbacbc2d7 fixed test [#CLICKHOUSE-3397] 2017-12-01 21:21:37 +03:00
alexey-milovidov
09f030a3ee
Merge branch 'master' into data_parts_multi_index 2017-12-01 19:53:04 +03:00
Alexey Milovidov
98291f1a24 Cleanups [#CLICKHOUSE-2838]. 2017-12-01 17:21:24 +03:00
Alexey Milovidov
6fb18a7dc2 Added comments [#CLICKHOUSE-2838]. 2017-12-01 17:15:38 +03:00
Nikolai Kochetov
470c633e09 merged with master 2017-12-01 16:33:47 +03:00
Alexey Milovidov
d4089695ad Cleanups [#CLICKHOUSE-2838]. 2017-12-01 16:32:37 +03:00
Nikolai Kochetov
f025f22007 Merge branch 'master' into support-table-functions-for-desc-and-insert 2017-12-01 16:24:50 +03:00
Alexey Milovidov
241e0638b7 Merge branch 'master' of github.com:yandex/ClickHouse into unify-data-types-that-serialized-with-multiple-streams 2017-12-01 15:36:15 +03:00
Kirill Shvakov
cd7f7b076e Merge branch 'add-description-to-settings-table' 2017-11-30 13:55:42 +02:00
Kirill Shvakov
4d73516508 Add description to system.settings table 2017-11-30 13:50:02 +02:00
Vitaliy Lyudvichenko
ddb02d8ccf Small enhancements. [#CLICKHOUSE-3452] 2017-11-29 14:54:37 +03:00
Vitaliy Lyudvichenko
b738d1baed Add multi index for data_parts storage. And fixed bugs. [#CLICKHOUSE-3452]
Fixed handling of obsolete parts.
Fixed conflict resolution between simultaneous PreCommitted covering parts.
Fixed memory leak caused by ordinary MergeTree parts stucked in Deleting state.
Added hidden _state column into system.parts.
2017-11-29 14:25:11 +03:00
Alexey Milovidov
fb4951b679 Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-11-29 02:50:17 +03:00
Alexey Milovidov
7b4bffe088 Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-11-29 02:31:21 +03:00
Alexey Zatelepin
01d42242b1 mark queue as dirty if status of ZK operation is unknown [#CLICKHOUSE-3405] 2017-11-28 17:09:53 +03:00
Alexey Milovidov
36d4f89c7a Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-11-28 05:13:46 +03:00
Alexey Milovidov
71378d329c Merge branch 'unify-data-types-that-serialized-with-multiple-streams' of github.com:yandex/ClickHouse into unify-data-types-that-serialized-with-multiple-streams 2017-11-28 02:47:21 +03:00
Alexey Milovidov
719d2654f8 Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-11-28 02:47:14 +03:00
Alexey Milovidov
55971073fc Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-11-28 00:21:09 +03:00
Alexey Milovidov
95d33b3e65 Merge remote-tracking branch 'origin/master' into unify-data-types-that-serialized-with-multiple-streams 2017-11-27 22:33:38 +03:00
Alexey Milovidov
42cc689474 Miscellaneous [#CLICKHOUSE-2]. 2017-11-26 22:22:33 +03:00
Alexey Milovidov
6266ecc5ed Miscellaneous [#CLICKHOUSE-2]. 2017-11-25 02:03:58 +03:00
proller
827a5d0612 Fix warnings-errors in gtest 2017-11-24 23:40:14 +03:00
proller
6ff1968196 Compile and likk optimize and fixes 2017-11-24 21:08:01 +03:00
proller
0d3c4f4d67 Core/FieldVisitors.h -> Common/FieldVisitors.h
Core/Progress.h -> IO/Progress.h
    tests: sudo --non-interactive
    Fix freebsd link
2017-11-24 16:55:31 +03:00
Alexey Milovidov
859bf86a43 Fixed error found by ASan with debug libc++ (actually not dangerous) [#CLICKHOUSE-2]. 2017-11-23 18:24:55 +03:00
Alexey Zatelepin
78aaa42ddd add idempotent retries of updating the replica queue in ZooKeeper [#CLICKHOUSE-3405] 2017-11-23 16:19:29 +03:00
Alexey Milovidov
e15d637714 Miscellaneous [#CLICKHOUSE-2]. 2017-11-23 05:12:09 +03:00
Alexey Milovidov
4bf120b285 Miscellaneous [#CLICKHOUSE-2]. 2017-11-23 05:11:16 +03:00
Alexey Milovidov
4aa520e7be Merge remote-tracking branch 'origin/master' into unify-data-types-that-serialized-with-multiple-streams 2017-11-21 22:40:59 +03:00
Alexey Milovidov
4bc98c9253 Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-11-21 05:25:36 +03:00
Alexey Milovidov
63f79b7b4f Unification of serde of data types: development [#CLICKHOUSE-2838]. 2017-11-21 05:23:41 +03:00
Amos Bird
dc6847d5c6
Fixes StorageJoin's sample block order.
Here is a reproducible test case.
```
create table e (s UInt64, t UInt64) Engine = Memory;
create table v (s UInt64, w Float64, c UInt64) Engine = Join(Any, Inner, s);
insert into e values (1, 2), (1, 3), (1, 4), (2, 1), (2, 4), (3, 1), (4, 2), (4, 3);
insert into v values (1, 0.5, 3), (2, 0.5, 2), (3, 1, 1), (4, 0.5, 2);
select *, w, c from e any inner join v using (s);
```

# before this patch
```
┌─s─┬─t─┬─────w─┬──────────c─┐
│ 1 │ 2 │ 4e-45 │ 1051372192 │
│ 1 │ 3 │ 4e-45 │ 1051372192 │
│ 1 │ 4 │ 4e-45 │ 1051372192 │
│ 2 │ 1 │ 3e-45 │ 1056964608 │
│ 2 │ 4 │ 3e-45 │ 1056964608 │
│ 3 │ 1 │ 1e-45 │ 1065353216 │
│ 4 │ 2 │ 3e-45 │ 1056964608 │
│ 4 │ 3 │ 3e-45 │ 1056964608 │
└───┴───┴───────┴────────────┘
```
# after this patch
```
┌─s─┬─t─┬───w─┬─c─┐
│ 1 │ 2 │ 0.5 │ 3 │
│ 1 │ 3 │ 0.5 │ 3 │
│ 1 │ 4 │ 0.5 │ 3 │
│ 2 │ 1 │ 0.5 │ 2 │
│ 2 │ 4 │ 0.5 │ 2 │
│ 3 │ 1 │   1 │ 1 │
│ 4 │ 2 │ 0.5 │ 2 │
│ 4 │ 3 │ 0.5 │ 2 │
└───┴───┴─────┴───┘
```
2017-11-20 19:46:24 +08:00