Skip to content

Commit 48c2e2e

Browse files
authored
feat: Add ALTER TABLE ADD/DROP/ALTER COLIMN support (#77)
1 parent f7beba8 commit 48c2e2e

File tree

13 files changed

+2214
-19
lines changed

13 files changed

+2214
-19
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ set(EXTENSION_SOURCES src/lance_extension.cpp src/lance_scan.cpp
1313
src/lance_search.cpp src/lance_common.cpp
1414
src/lance_filter_ir.cpp
1515
src/lance_storage.cpp
16+
src/lance_metadata.cpp
1617
src/lance_replacement.cpp
1718
src/lance_insert.cpp
1819
src/lance_delete.cpp

Cargo.lock

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,27 +18,32 @@ panic = "abort"
1818

1919
[dependencies]
2020

21-
# Lance and Arrow dependencies - using compatible versions
22-
lance = { version = "1.0.0", default-features = false, features = ["aws", "azure", "gcp", "oss", "huggingface"] }
23-
lance-arrow = "1.0.0"
24-
lance-core = "1.0.0"
25-
lance-namespace = "1.0.0"
26-
lance-namespace-impls = { version = "1.0.0", features = ["rest"] }
27-
lance-table = "1.0.0"
28-
datafusion = "50.3.0"
29-
arrow = { version = "56.2.0", features = ["ffi"] }
21+
# Lance and Arrow dependencies - using compatible versions
22+
lance = { version = "1.0.0", default-features = false, features = ["aws", "azure", "gcp", "oss", "huggingface"] }
23+
lance-arrow = "1.0.0"
24+
lance-core = "1.0.0"
25+
lance-index = "1.0.0"
26+
lance-linalg = "1.0.0"
27+
lance-namespace = "1.0.0"
28+
lance-namespace-impls = { version = "1.0.0", features = ["rest"] }
29+
lance-table = "1.0.0"
30+
31+
arrow = { version = "56.2.0", features = ["ffi"] }
3032
arrow-array = "56.2.0"
3133
arrow-schema = "56.2.0"
32-
bzip2-sys = { version = "0.1.13", features = ["static"] }
33-
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
34-
futures = "0.3"
35-
anyhow = "1.0"
36-
async-trait = "0.1"
34+
35+
datafusion = "50.3.0"
3736
datafusion-common = "50.3.0"
3837
datafusion-expr = "50.3.0"
3938
datafusion-functions = "50.3.0"
40-
datafusion-sql = "50.3.0"
41-
lance-index = "1.0.0"
42-
lance-linalg = "1.0.0"
43-
roaring = "0.10.12"
44-
serde_json = "1.0"
39+
datafusion-sql = "50.3.0"
40+
41+
anyhow = "1.0"
42+
async-trait = "0.1"
43+
bzip2-sys = { version = "0.1.13", features = ["static"] }
44+
chrono = "0.4"
45+
futures = "0.3"
46+
roaring = "0.10.12"
47+
serde_json = "1.0"
48+
snafu = "0.8.6"
49+
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }

rust/error.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,37 +8,57 @@ pub enum ErrorCode {
88
InvalidArgument = 1,
99
Utf8 = 2,
1010
Runtime = 3,
11+
1112
DatasetOpen = 4,
1213
DatasetCountRows = 5,
1314
FragmentScan = 6,
15+
1416
StreamCreate = 7,
1517
StreamNext = 8,
1618
SchemaExport = 9,
1719
BatchExport = 10,
20+
1821
KnnSchema = 11,
1922
KnnStreamCreate = 12,
2023
ExplainPlan = 13,
2124
FtsSchema = 14,
2225
FtsStreamCreate = 15,
2326
DatasetScan = 16,
2427
HybridStreamCreate = 17,
28+
2529
DatasetWriteOpen = 18,
2630
DatasetWriteBatch = 19,
2731
DatasetWriteFinish = 20,
32+
2833
NamespaceListTables = 21,
2934
NamespaceDescribeTable = 22,
3035
DirNamespaceListTables = 23,
3136
DatasetWriteFinishUncommitted = 24,
3237
DatasetCommitTransaction = 25,
3338
DirNamespaceDropTable = 26,
39+
3440
DatasetDelete = 27,
3541
DatasetUpdateOverwrite = 28,
42+
3643
DatasetCreateIndex = 29,
3744
DatasetDropIndex = 30,
3845
DatasetDescribeIndices = 31,
3946
DatasetOptimizeIndices = 32,
4047
IndexSchema = 33,
4148
IndexStreamCreate = 34,
49+
50+
DatasetAddColumns = 35,
51+
DatasetDropColumns = 36,
52+
DatasetAlterColumns = 37,
53+
DatasetUpdateMetadata = 38,
54+
DatasetUpdateConfig = 39,
55+
DatasetUpdateSchemaMetadata = 40,
56+
DatasetUpdateFieldMetadata = 41,
57+
DatasetCompactFiles = 42,
58+
DatasetCleanupOldVersions = 43,
59+
DatasetListKeyValues = 44,
60+
DatasetListIndices = 45,
61+
DatasetCreateScalarIndex = 46,
4262
}
4363

4464
struct LastError {

rust/ffi/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ mod namespace;
77
mod projection;
88
mod scan;
99
mod search;
10+
mod schema_evolution;
1011
mod stream;
1112
mod types;
1213
mod update;

0 commit comments

Comments
 (0)