Commit Graph

141 Commits

Author SHA1 Message Date
Marek Vavruša
5d5c99ebee Formats/CapnProtoRowInputStream: fix column mismatch in list of structures
The fields are lexicographically sorted to make traversal easier,
but their order must be preserved when collecting fields from structures.

For example, a list with a structure like `{b @0 :Text, a @1 :Text}` would
read `a` first despite being second, which would cause a mismatch.
2018-10-04 15:59:27 -07:00
alexey-milovidov
147a2a13c2
Merge pull request #3257 from amosbird/master
Correct wcwidth computation for pretty outputs.
2018-10-02 16:23:41 +03:00
Amos Bird
7df73088ab Correct wcwidth computation for pretty outputs. 2018-10-02 10:06:18 +08:00
alexey-milovidov
ff53aa4947
Update CapnProtoRowInputStream.cpp 2018-10-01 04:33:36 +03:00
alexey-milovidov
fac040c39a
Update CapnProtoRowInputStream.cpp 2018-10-01 04:31:48 +03:00
Veloman Yunkan
3e96f32833 Fixed the bug introduced by PR#3144
The pre-existing optimization in the function
JSONEachRowRowInputStream::readColumnName() (that was extracted
during the refactoring step of PR#3144) imposed a restriction
on its usage - reading from the input stream might invalidate the return
value of that function, and this is what happenned in readJSONObject()
after the call to skipColonDelimiter().

One way of fixing the problem while preserving the original optimization
intact would be to defer the call to skipColonDelimiter() until the
variable name_ref was fully consumed, however that would result in worse
code (skipColonDelimiter() would need to be called in three different
places where it doesn't really belong).

Therefore I preferred to slightly weaken the optimization by always
copying the key name into the current_column_name data member.
2018-09-26 11:27:04 +00:00
Marek Vavruša
cbbcb6d9df Formats/CapnProtoRowInputStream: support Nested and Tuple, fix alignment issues
This updated contrib/capnproto to a newer version that fixes problems with
unaligned access to message frames.

It also adds support for parsing Struct types as Tuple (named or unnamed),
and Nested array types.

The `struct X { a @0 :UInt64; b @1 :Text }` in Cap'nProto is equivalent to
`x Tuple(a UInt64, b String)` in ClickHouse.

Arrays of Struct types such as `y List(X)` are equivalent to `y Nested(a UInt64, b String)`.
2018-09-25 22:51:35 -07:00
alesapin
b87a084f38 Strict order of evaluated and added columns 2018-09-20 14:16:15 +03:00
alesapin
e1c8045055 Fix error with header 2018-09-19 15:56:56 +03:00
alesapin
c2f3453fda Reorder Squashing and adding default output stream in insert 2018-09-19 14:06:42 +03:00
Alexey Milovidov
46ef387ce3 Style #3144 2018-09-17 23:35:21 +03:00
Veloman Yunkan
5fe127e4c3 Added --input_format_import_nested_json option
By default mapping of nested json data to nested tables is disabled. To
enable the import of nested json data (into corresponding nested tables)
clickhouse must be run with the --input_format_import_nested_json=1
option.
2018-09-14 13:43:57 +00:00
Veloman Yunkan
47eb0e28b3 Nested JSON data is mapped to nested table data 2018-09-14 12:15:32 +00:00
Veloman Yunkan
8d427dd09d Extracted JSONEachRowRowInputStream::readJSONObject
Also changed the names of previously extracted functions to camel case.
2018-09-14 10:47:26 +00:00
Veloman Yunkan
4cf2cd9586 Some more refactoring 2018-09-14 08:27:49 +00:00
Veloman Yunkan
270f13fe99 Some refactoring 2018-09-14 07:28:49 +00:00
chertus
0b35cdae69 refactoring: add some sugar in type checks [CLICKHOUSE-0002] 2018-09-07 17:37:26 +03:00
Alexey Milovidov
0c6c1e83a3 Avoid excessive padding in Pretty formats [#CLICKHOUSE-2] 2018-08-31 02:34:12 +03:00
BlahGeek
739119d355 skip object fields on json input 2018-08-27 12:01:47 +08:00
Alexey Milovidov
d8ca4345b6 Fixed style violations [#CLICKHOUSE-2] 2018-08-10 04:41:54 +03:00
proller
973bdab77f Format ODBCDriver2 with NULL support (#2834)
* Format ODBCDriver2 with NULL support

* Fix comment

* Update ODBCDriver2BlockOutputStream.cpp

* clean
2018-08-10 04:20:10 +03:00
Alex Bocharov
e8d4654419 Remove FormatSettings default value for writeJSONString and add tests for output_format_json_escape_forward_slashes. 2018-08-08 02:35:32 +03:00
alexey-milovidov
bc16e8ca69 Update FormatSettings.h 2018-08-08 02:35:32 +03:00
alexey-milovidov
31cff11fee Update FormatFactory.cpp 2018-08-08 02:35:32 +03:00
Alex Bocharov
a8818bb8af Add output_format_json_escape_slashes setting - controls escaping slashes for string outputs in JSON output format. 2018-08-08 02:35:32 +03:00
Alexey Milovidov
a106c65dec Miscellaneous #2702 2018-07-24 21:50:28 +03:00
Amos Bird
77ce910077 Fix invalid Context reference. 2018-07-24 21:47:47 +03:00
Alexey Milovidov
09d22da9b9 Miscellaneous #2687 2018-07-20 18:59:11 +03:00
alesapin
2915a58c8f Merge remote-tracking branch 'upstream/master' 2018-07-20 13:13:50 +03:00
alesapin
ec156e9f2b CLICKHOUSE-3772: Add system tables formats, data_type_families, table_functions, aggregate_function_combinators 2018-07-20 13:00:56 +03:00
Alexey Milovidov
7f04f593ed Moved code to .cpp; log only when skipping of errors is enabled #2669 2018-07-18 22:02:40 +03:00
Amos Bird
8b2e68bfa0 Function try in destructor rethrows exceptions
According to https://en.cppreference.com/w/cpp/language/function-try-block , function try block used in destructor will rethrow exceptions if there isn't a return statement specified.
2018-07-18 16:29:12 +03:00
Leonardo Cecchi
6d8d59bd1b Log number of skipped rows during a bulk insert
When in a bulk insert the rows are parsed server-side and there are
skipped rows, log the number of these rows at the TRACE level.
2018-07-18 03:04:01 +03:00
chertus
07a782e637 fix wrong defaults at columns tail and some build fixes 2018-07-16 22:28:07 +03:00
chertus
c8f71cb539 Merge branch 'master' into issue-3578 2018-07-13 14:30:42 +03:00
chertus
82d22574d4 fix empty defaults mask issue and add some comments 2018-07-11 17:11:47 +03:00
Alexey Milovidov
84fd35da41 Adaptations #2574 2018-07-05 00:00:50 +03:00
chertus
88c4081a82 3578: defaults for input streams (in progress) 2018-07-04 20:02:47 +03:00
Amos Bird
900b046943 Add options to enable parsing CSV with single/double quote. 2018-06-29 15:34:55 +08:00
proller
e1ae5233df Add // Y_IGNORE tags 2018-06-21 18:24:36 +03:00
alexey-milovidov
fafecb3c25
Better modularity of formats. (#2492)
* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development): removed very old tests #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447

* Formats: better modularity (development) #2447
2018-06-10 22:22:49 +03:00