mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-11 08:23:40 +00:00
* Update test data for `tests.integration.trino` This is to create tables with complex data types. Using raw SQL because creating tables with pandas didn't get the right types for the structs * Update tests to reproduce the issue Also included the new tables in the other tests to make sure complex data types do not break anything else Reference: [issue 16983](https://github.com/open-metadata/OpenMetadata/issues/16983) * Added `TypeDecorator`s handle `trino.types.NamedRowTuple` This is because pydantic couldn't figure out how to create python objects when receiving `NamedRowTuple`s, which broke the sampling process. This makes sure the data we receive from the trino interface is compatible with Pydantic
27 lines
492 B
SQL
27 lines
492 B
SQL
CREATE TABLE IF NOT EXISTS {catalog}.{schema}.{table_name} (
|
|
payload ROW(
|
|
foobar VARCHAR,
|
|
foobaz DOUBLE,
|
|
foos ARRAY(ROW(bars VARCHAR))
|
|
),
|
|
foobars ARRAY(VARCHAR)
|
|
);
|
|
|
|
INSERT INTO {catalog}.{schema}.{table_name} VALUES
|
|
(
|
|
ROW(
|
|
'test_value',
|
|
123.45,
|
|
ARRAY[ROW('bar1'), ROW('bar2')]
|
|
),
|
|
ARRAY['foo1', 'foo2', 'foo3']
|
|
),
|
|
(
|
|
ROW(
|
|
'another_value',
|
|
678.90,
|
|
ARRAY[ROW('bar3')]
|
|
),
|
|
ARRAY['foo4']
|
|
);
|