Skip to content

Conversation

@wojiaodoubao
Copy link
Collaborator

This pr tries to add partition as an experimental spec. Discussion could be fount at: #272

This PR remains a draft, and we still need to hold a vote to decide whether to introduce the partition spec.

@chatgpt-codex-connector
Copy link

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@wojiaodoubao wojiaodoubao marked this pull request as draft December 11, 2025 07:15
@github-actions
Copy link
Contributor

ACTION NEEDED
Lance follows the Conventional Commits specification for release automation.

The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification.

For details on the error please inspect the "PR Title Check" action.

@@ -0,0 +1,161 @@
## Lance Partition Spec (Experimental)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thought, can we make this a part of the DirectoryNamespace catalog spec, because it is basically a directory namespace + all tables must have the same schema, and the namespace must be leveled.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks your suggestion! I'm not sure if I understand correctly. Do you mean "the Partition Spec should be part of the Directory Spec"?

I’m thinking if we could move the "Partition Spec" as an individual file to the docs/src directory? This is because I thought the Partition Spec should be applicable to the REST Spec, Directory Spec, and External Spec simultaneously, thus we don’t need to restrict the use of Partition Namespace to the Directory Spec alone.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my mind any container for the data must be storage only, which is a principle that Lance holds for important reasons like portability. So a partitioned namespace itself should have a fixed storage-only definition, and directory namespace can be the basis. It can be a separated file, but it should basically be something like "a partitioned namespace is a special directory namespace (v2+) that adds the following constraints...".

And then any namespace implementation (Hive, or your product catalog, or REST) can let its namespace contain a partitioned namespace, that is a catalog integration and fits well into the whole namespace framework.

What do you think about it?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks your explanation! It makes sense to me. Let me fix it.

This specification follows the "convention over configuration" principle, defining a partitioned table as a **metadata specification**. It is the responsibility of compatible clients or computation engines to interpret and enforce it.

### 2. Core Concepts
#### 2.1. Partitioned Table
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think calling this a partitioned table would be quite confusing to many people because the actual interface is namespace not table. What about "Partitioned Namespace"?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👌

@wojiaodoubao wojiaodoubao changed the title doc: add partitioin spec (experimental) doc: add partitioin spec - experimental Dec 12, 2025
@wojiaodoubao wojiaodoubao changed the title doc: add partitioin spec - experimental doc: add partitioin spec Dec 12, 2025
@wojiaodoubao wojiaodoubao marked this pull request as ready for review December 13, 2025 03:22
@chatgpt-codex-connector
Copy link

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@wojiaodoubao wojiaodoubao changed the title doc: add partitioin spec docs: add partitioin spec Dec 13, 2025
@github-actions github-actions bot added the documentation Improvements or additions to documentation label Dec 13, 2025
@wojiaodoubao
Copy link
Collaborator Author

Hi @jackye1995 , I've updated this pr, could you help review when you have time, thanks very much~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants