Skip to content

Commit

Permalink
fix: modify fqn to allow quotes with dots (#18719)
Browse files Browse the repository at this point in the history
  • Loading branch information
ayush-shah authored Nov 22, 2024
1 parent d089ffa commit 17ffdf9
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 51 deletions.
45 changes: 0 additions & 45 deletions ingestion/examples/sample_data/looker/dashboardDataModels.json
Original file line number Diff line number Diff line change
Expand Up @@ -158,51 +158,6 @@
"ordinalPosition": 5
}
]
},
{
"name": "\"orders_view\" || \"operations_view\"",
"displayName": "Orders View and Operations View",
"description": "Orders View and Operations View from Sample Data",
"dataModelType": "LookMlView",
"serviceType": "Looker",
"sql": "view: orders {\n sql_table_name: orders ;;\n\n dimension: \"1. Phase I\" {\n type: string\n sql: ${TABLE}.status ;;\n }\n\n dimension: \"4. Authorized\" {\n type: int\n sql: ${TABLE}.amount ;;\n }\n}",
"columns": [
{
"name": "0. Pre-clinical",
"dataType": "NUMERIC",
"dataTypeDisplay": "numeric",
"description": "Vaccine Candidates in phase: 'Pre-clinical'",
"ordinalPosition": 1
},
{
"name": "2. Phase II or Combined I/II",
"dataType": "NUMERIC",
"dataTypeDisplay": "numeric",
"description": "Vaccine Candidates in phase: 'Phase II or Combined I/II'",
"ordinalPosition": 2
},
{
"name": "1. Phase I",
"dataType": "NUMERIC",
"dataTypeDisplay": "numeric",
"description": "Vaccine Candidates in phase: 'Phase I'",
"ordinalPosition": 3
},
{
"name": "3. Phase III",
"dataType": "NUMERIC",
"dataTypeDisplay": "numeric",
"description": "Vaccine Candidates in phase: 'Phase III'",
"ordinalPosition": 4
},
{
"name": "4. Authorized",
"dataType": "NUMERIC",
"dataTypeDisplay": "numeric",
"description": "Vaccine Candidates in phase: 'Authorize'",
"ordinalPosition": 5
}
]
}
]

15 changes: 11 additions & 4 deletions ingestion/src/metadata/ingestion/source/database/sample_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@
InvalidSchemaTypeException,
schema_parser_config_registry,
)
from metadata.sampler.models import SampleData, SamplerResponse
from metadata.utils import entity_link, fqn
from metadata.utils.constants import UTF_8
from metadata.utils.fqn import FQN_SEPARATOR
Expand Down Expand Up @@ -898,10 +899,16 @@ def ingest_tables(self) -> Iterable[Either[Entity]]:

self.metadata.ingest_table_sample_data(
table_entity,
TableData(
rows=table["sampleData"]["rows"],
columns=table["sampleData"]["columns"],
),
sample_data=SamplerResponse(
table=table_entity,
sample_data=SampleData(
data=TableData(
rows=table["sampleData"]["rows"],
columns=table["sampleData"]["columns"],
),
store=True,
),
).sample_data.data,
)

if table.get("customMetrics"):
Expand Down
1 change: 1 addition & 0 deletions ingestion/tests/unit/test_fqn.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ def validate(self, actual_parts, actual_fqn):
FQNTest(["a.1", "b.2", "c", "d"], '"a.1"."b.2".c.d'),
FQNTest(["a.1", "b.2", "c.3", "d"], '"a.1"."b.2"."c.3".d'),
FQNTest(["a.1", "b.2", "c.3", "d.4"], '"a.1"."b.2"."c.3"."d.4"'),
FQNTest(["fqn", "test.test.test"], 'fqn."test.test.test"'),
]
for x in xs:
x.validate(fqn.split(x.fqn), fqn._build(*x.parts))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ NAME
;

NAME_WITH_RESERVED
: QUOTE NON_RESERVED* (RESERVED)* NON_RESERVED* QUOTE
: QUOTE NON_RESERVED* (RESERVED NON_RESERVED*)+ QUOTE
;

QUOTE
: '"'
;

NON_RESERVED
: ~[.]
: ~[".]
;
RESERVED
Expand Down

0 comments on commit 17ffdf9

Please sign in to comment.