-
Notifications
You must be signed in to change notification settings - Fork 208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What is Table Identifier? #341
Comments
Hey @kevinjqliu As you already concluded, most catalogs only use two parts, one namespace and the table name. The REST catalog supports hierarchical namespaces, and of course we can add it to the InMemory one as well.
The last element represents the table name, and everything in front of it are the name-spaces. |
So if I understand correctly, TableIdentifier consists of the namespace and the table name. The namespace can be multiple parts, for example ("com"."apache"."iceberg") or "com.apache.iceberg". And table name is 1 word, i.e. "foo". If this is the case, is "database name" part of the namespace and possibly the last element of the namespace? And a followup question,
What is the definition of "hierarchical namespaces" here? |
Answering my own questions above. A TableIdentifier is in the form of (namespace, ..., database_name, table_name). A namespace can be "hierarchical" because it has multiple levels, such as (foo) or (foo, bar) or (foo, bar, baz). |
Question
In
test_base.py
the Table Identifier,TEST_TABLE_IDENTIFIER
, is a tuple of 4 elementsIn 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.However, due to the Table Identifier being a 4-element tuple, I cannot parse the database name using
identifier_to_database_and_table
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, thenamespace
and thename
, whereNamespace
is a list of string.The text was updated successfully, but these errors were encountered: