What exactly constitutes the "Lance Format Specification"? #5516
Replies: 3 comments
-
|
At a minimum, I think any change to the protobufs are a format change. Is that controversial? I think this covers both the file and table specifications. |
Beta Was this translation helpful? Give feedback.
-
|
Another question is, "are index specifications part of the specification"? (e.g. #5485) |
Beta Was this translation helpful? Give feedback.
-
|
That's a good question. There's also a discussion around partition-per-table. For now we are assuming to provide partitions on namespaces and not sure to introduce any changes to the API. But some descriptions are already using specs to define this change. Just share some of my thoughts: IMO A specification defines the fundamental structure and rules that multiple components and multiple adhere to.
I understand that there's a simple criterion to determine if a change belongs to the spec: in principle, a spec can only have additions and deprecations, not direct modifications. Directly modifying a spec will cause clear compatibility issues. However, we can introduce a new spec to gradually phase out the old one. This process is typically high-risk and time-consuming, which is why we must define our specs with great caution.(IMO sth like API of format, the real API could differ across langs and repos based on specs)
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
The governance docs place stricter rules around changes to the specification but it is not clear what constitutes "the specification". Is it the protobufs? Is it instead the docs here https://lance.org/format/? Is any code included? Does lance-namespace have a specification? Does this include both the file and table specification?
It would be good to solidify this I think as it will help understand what needs special handling and what is just a regular change.
Beta Was this translation helpful? Give feedback.
All reactions