mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 00:30:49 +00:00
fix basic functionality with type Object and new analyzer
This commit is contained in:
parent
0c13870eb1
commit
08b618205d
@ -5391,7 +5391,12 @@ void QueryAnalyzer::initializeTableExpressionColumns(const QueryTreeNodePtr & ta
|
||||
{
|
||||
const auto & storage_snapshot = table_node ? table_node->getStorageSnapshot() : table_function_node->getStorageSnapshot();
|
||||
|
||||
auto column_names_and_types = storage_snapshot->getColumns(GetColumnsOptions(GetColumnsOptions::All).withSubcolumns().withVirtuals());
|
||||
auto column_names_and_types = storage_snapshot->getColumns(
|
||||
GetColumnsOptions(GetColumnsOptions::All)
|
||||
.withSubcolumns()
|
||||
.withVirtuals()
|
||||
.withExtendedObjects());
|
||||
|
||||
const auto & columns_description = storage_snapshot->metadata->getColumns();
|
||||
|
||||
std::vector<std::pair<std::string, ColumnNodePtr>> alias_columns_to_resolve;
|
||||
|
@ -0,0 +1,3 @@
|
||||
{"data":{"id":2,"obj":{"k2":{"k3":"str","k4":[{"k6":55}]},"some":42},"s":"bar"}}
|
||||
{"data":{"id":2,"obj.k2.k3":"str","obj.k2.k4.k6":[55],"obj.some":42,"s":"bar"}}
|
||||
{"a.id":2,"a.obj.k2":{"k3":"str","k4":[{"k6":55}]},"a.obj.some":42}
|
13
tests/queries/0_stateless/02553_type_object_analyzer.sql
Normal file
13
tests/queries/0_stateless/02553_type_object_analyzer.sql
Normal file
@ -0,0 +1,13 @@
|
||||
SET output_format_json_named_tuples_as_objects = 1;
|
||||
SET allow_experimental_object_type = 1;
|
||||
SET allow_experimental_analyzer = 1;
|
||||
|
||||
DROP TABLE IF EXISTS t_json_analyzer;
|
||||
CREATE TABLE t_json_analyzer (a JSON) ENGINE = Memory;
|
||||
INSERT INTO t_json_analyzer VALUES ('{"id": 2, "obj": {"k2": {"k3": "str", "k4": [{"k6": 55}]}, "some": 42}, "s": "bar"}');
|
||||
|
||||
SELECT any(a) AS data FROM t_json_analyzer FORMAT JSONEachRow;
|
||||
SELECT flattenTuple(a) AS data FROM t_json_analyzer FORMAT JSONEachRow;
|
||||
SELECT a.id, a.obj.* FROM t_json_analyzer FORMAT JSONEachRow;
|
||||
|
||||
DROP TABLE t_json_analyzer;
|
Loading…
Reference in New Issue
Block a user