Description
Question
In test_base.py
the Table Identifier, TEST_TABLE_IDENTIFIER
, is a tuple of 4 elements
TEST_TABLE_IDENTIFIER = ("com", "organization", "department", "my_table")
In most other places, the Table identifier is either a tuple of 2 elements (database_name, table_name)
or a string with 2 parts, database_name.table_name
.
See more examples
In #289, I wanted to implement the location
for in-memory catalog the same way as other catalog implementations, by using the _resolve_table_location
function.
location = self._resolve_table_location(location, database_name, table_name)
However, due to the Table Identifier being a 4-element tuple, I cannot parse the database name using identifier_to_database_and_table
database_name, table_name = self.identifier_to_database_and_table(identifier)
What is the proper spec of Table Identifier? And what part of it represents the database_name
?
In Java implementation, TableIdentifier
is made up of two parts, the namespace
and the name
, where
Namespace
is a list of string.