Skip to content

What is Table Identifier?  #341

@kevinjqliu

Description

@kevinjqliu

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions