tableNames = conn.tableNames(TABLE_NAMES[0], 2);
- assertEquals(2, tableNames.size());
- assertEquals(TABLE_NAMES[1], tableNames.get(0));
- assertEquals(TABLE_NAMES[2], tableNames.get(1));
- tableNames = conn.tableNames(TABLE_NAMES[1], 1);
- assertEquals(1, tableNames.size());
- assertEquals(TABLE_NAMES[2], tableNames.get(0));
- tableNames = conn.tableNames(TABLE_NAMES[2], 2);
- assertEquals(1, tableNames.size());
- assertEquals(TABLE_NAMES[3], tableNames.get(0));
- tableNames = conn.tableNames(TABLE_NAMES[3], 2);
- assertEquals(0, tableNames.size());
- tableNames = conn.tableNames(TABLE_NAMES[0], 0);
- assertEquals(0, tableNames.size());
-
- // Limit larger than the number of remaining tables
- tableNames = conn.tableNames(TABLE_NAMES[0], 10);
- assertEquals(3, tableNames.size());
- assertEquals(TABLE_NAMES[1], tableNames.get(0));
- assertEquals(TABLE_NAMES[2], tableNames.get(1));
- assertEquals(TABLE_NAMES[3], tableNames.get(2));
-
- // Start after a value not in the list
- tableNames = conn.tableNames("non_existent_table", 2);
- assertEquals(2, tableNames.size());
- assertEquals(TABLE_NAMES[2], tableNames.get(0));
- assertEquals(TABLE_NAMES[3], tableNames.get(1));
-
- // Start after the last table with a limit
- tableNames = conn.tableNames(TABLE_NAMES[3], 1);
- assertEquals(0, tableNames.size());
- }
- }
-}
diff --git a/java/core/src/test/resources/example_db/dataset_version.lance/_latest.manifest b/java/core/src/test/resources/example_db/dataset_version.lance/_latest.manifest
deleted file mode 100644
index f09f8e8b..00000000
Binary files a/java/core/src/test/resources/example_db/dataset_version.lance/_latest.manifest and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/dataset_version.lance/_transactions/0-d51afd07-e3cd-4c76-9b9b-787e13fd55b0.txn b/java/core/src/test/resources/example_db/dataset_version.lance/_transactions/0-d51afd07-e3cd-4c76-9b9b-787e13fd55b0.txn
deleted file mode 100644
index 40e927be..00000000
--- a/java/core/src/test/resources/example_db/dataset_version.lance/_transactions/0-d51afd07-e3cd-4c76-9b9b-787e13fd55b0.txn
+++ /dev/null
@@ -1 +0,0 @@
-$d51afd07-e3cd-4c76-9b9b-787e13fd55b0²=id ÿÿÿÿÿÿÿÿÿ*int3208name ÿÿÿÿÿÿÿÿÿ*string08
\ No newline at end of file
diff --git a/java/core/src/test/resources/example_db/dataset_version.lance/_transactions/1-336c3e56-33fd-45d8-bbfb-95ebb563cbe0.txn b/java/core/src/test/resources/example_db/dataset_version.lance/_transactions/1-336c3e56-33fd-45d8-bbfb-95ebb563cbe0.txn
deleted file mode 100644
index 77383fe7..00000000
Binary files a/java/core/src/test/resources/example_db/dataset_version.lance/_transactions/1-336c3e56-33fd-45d8-bbfb-95ebb563cbe0.txn and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/dataset_version.lance/_transactions/2-3344b369-7471-4e23-8865-c949b6e19bc2.txn b/java/core/src/test/resources/example_db/dataset_version.lance/_transactions/2-3344b369-7471-4e23-8865-c949b6e19bc2.txn
deleted file mode 100644
index c0119b6e..00000000
Binary files a/java/core/src/test/resources/example_db/dataset_version.lance/_transactions/2-3344b369-7471-4e23-8865-c949b6e19bc2.txn and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/dataset_version.lance/_versions/1.manifest b/java/core/src/test/resources/example_db/dataset_version.lance/_versions/1.manifest
deleted file mode 100644
index d94ff721..00000000
Binary files a/java/core/src/test/resources/example_db/dataset_version.lance/_versions/1.manifest and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/dataset_version.lance/_versions/2.manifest b/java/core/src/test/resources/example_db/dataset_version.lance/_versions/2.manifest
deleted file mode 100644
index f8764e44..00000000
Binary files a/java/core/src/test/resources/example_db/dataset_version.lance/_versions/2.manifest and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/dataset_version.lance/_versions/3.manifest b/java/core/src/test/resources/example_db/dataset_version.lance/_versions/3.manifest
deleted file mode 100644
index f09f8e8b..00000000
Binary files a/java/core/src/test/resources/example_db/dataset_version.lance/_versions/3.manifest and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/dataset_version.lance/data/60a9b599-f79f-48a8-bffa-b495762b622a.lance b/java/core/src/test/resources/example_db/dataset_version.lance/data/60a9b599-f79f-48a8-bffa-b495762b622a.lance
deleted file mode 100644
index 7a80cb2c..00000000
Binary files a/java/core/src/test/resources/example_db/dataset_version.lance/data/60a9b599-f79f-48a8-bffa-b495762b622a.lance and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/dataset_version.lance/data/a13f68ba-04e6-48b5-bec0-bf54444be5f0.lance b/java/core/src/test/resources/example_db/dataset_version.lance/data/a13f68ba-04e6-48b5-bec0-bf54444be5f0.lance
deleted file mode 100644
index c7d88b1c..00000000
Binary files a/java/core/src/test/resources/example_db/dataset_version.lance/data/a13f68ba-04e6-48b5-bec0-bf54444be5f0.lance and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/new_empty_dataset.lance/_latest.manifest b/java/core/src/test/resources/example_db/new_empty_dataset.lance/_latest.manifest
deleted file mode 100644
index 4f5495c6..00000000
Binary files a/java/core/src/test/resources/example_db/new_empty_dataset.lance/_latest.manifest and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/new_empty_dataset.lance/_transactions/0-15648e72-076f-4ef1-8b90-10d305b95b3b.txn b/java/core/src/test/resources/example_db/new_empty_dataset.lance/_transactions/0-15648e72-076f-4ef1-8b90-10d305b95b3b.txn
deleted file mode 100644
index 4ca22d68..00000000
--- a/java/core/src/test/resources/example_db/new_empty_dataset.lance/_transactions/0-15648e72-076f-4ef1-8b90-10d305b95b3b.txn
+++ /dev/null
@@ -1 +0,0 @@
-$15648e72-076f-4ef1-8b90-10d305b95b3b²=id ÿÿÿÿÿÿÿÿÿ*int3208name ÿÿÿÿÿÿÿÿÿ*string08
\ No newline at end of file
diff --git a/java/core/src/test/resources/example_db/new_empty_dataset.lance/_versions/1.manifest b/java/core/src/test/resources/example_db/new_empty_dataset.lance/_versions/1.manifest
deleted file mode 100644
index 4f5495c6..00000000
Binary files a/java/core/src/test/resources/example_db/new_empty_dataset.lance/_versions/1.manifest and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/test.lance/_latest.manifest b/java/core/src/test/resources/example_db/test.lance/_latest.manifest
deleted file mode 100644
index d1d46b3e..00000000
Binary files a/java/core/src/test/resources/example_db/test.lance/_latest.manifest and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/test.lance/_transactions/0-a3689caf-4f6b-4afc-a3c7-97af75661843.txn b/java/core/src/test/resources/example_db/test.lance/_transactions/0-a3689caf-4f6b-4afc-a3c7-97af75661843.txn
deleted file mode 100644
index 2df18204..00000000
--- a/java/core/src/test/resources/example_db/test.lance/_transactions/0-a3689caf-4f6b-4afc-a3c7-97af75661843.txn
+++ /dev/null
@@ -1 +0,0 @@
-$a3689caf-4f6b-4afc-a3c7-97af75661843²oitem ÿÿÿÿÿÿÿÿÿ*string8price ÿÿÿÿÿÿÿÿÿ*double80vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:28
\ No newline at end of file
diff --git a/java/core/src/test/resources/example_db/test.lance/_transactions/1-3f0fa7b9-7311-4945-9b0f-57dff4c04ee2.txn b/java/core/src/test/resources/example_db/test.lance/_transactions/1-3f0fa7b9-7311-4945-9b0f-57dff4c04ee2.txn
deleted file mode 100644
index ab679a00..00000000
Binary files a/java/core/src/test/resources/example_db/test.lance/_transactions/1-3f0fa7b9-7311-4945-9b0f-57dff4c04ee2.txn and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/test.lance/_versions/1.manifest b/java/core/src/test/resources/example_db/test.lance/_versions/1.manifest
deleted file mode 100644
index b0c30b9d..00000000
Binary files a/java/core/src/test/resources/example_db/test.lance/_versions/1.manifest and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/test.lance/_versions/2.manifest b/java/core/src/test/resources/example_db/test.lance/_versions/2.manifest
deleted file mode 100644
index d1d46b3e..00000000
Binary files a/java/core/src/test/resources/example_db/test.lance/_versions/2.manifest and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/test.lance/data/cd209a1b-00e0-4adf-93b2-2547c866e1ef.lance b/java/core/src/test/resources/example_db/test.lance/data/cd209a1b-00e0-4adf-93b2-2547c866e1ef.lance
deleted file mode 100644
index 94f50c6d..00000000
Binary files a/java/core/src/test/resources/example_db/test.lance/data/cd209a1b-00e0-4adf-93b2-2547c866e1ef.lance and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/write_stream.lance/_latest.manifest b/java/core/src/test/resources/example_db/write_stream.lance/_latest.manifest
deleted file mode 100644
index ac2cd0f6..00000000
Binary files a/java/core/src/test/resources/example_db/write_stream.lance/_latest.manifest and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/write_stream.lance/_transactions/0-ea2f0479-36d1-4302-908a-dae45b9eb443.txn b/java/core/src/test/resources/example_db/write_stream.lance/_transactions/0-ea2f0479-36d1-4302-908a-dae45b9eb443.txn
deleted file mode 100644
index d673b7ff..00000000
Binary files a/java/core/src/test/resources/example_db/write_stream.lance/_transactions/0-ea2f0479-36d1-4302-908a-dae45b9eb443.txn and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/write_stream.lance/_versions/1.manifest b/java/core/src/test/resources/example_db/write_stream.lance/_versions/1.manifest
deleted file mode 100644
index ac2cd0f6..00000000
Binary files a/java/core/src/test/resources/example_db/write_stream.lance/_versions/1.manifest and /dev/null differ
diff --git a/java/core/src/test/resources/example_db/write_stream.lance/data/665ff491-6dc5-4496-b292-166ed5c2a309.lance b/java/core/src/test/resources/example_db/write_stream.lance/data/665ff491-6dc5-4496-b292-166ed5c2a309.lance
deleted file mode 100644
index 0e9dc8f3..00000000
Binary files a/java/core/src/test/resources/example_db/write_stream.lance/data/665ff491-6dc5-4496-b292-166ed5c2a309.lance and /dev/null differ
diff --git a/java/lance-namespace/pom.xml b/java/lance-namespace/pom.xml
deleted file mode 100644
index 41fad29b..00000000
--- a/java/lance-namespace/pom.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- 4.0.0
-
-
- com.lancedb
- lancedb-parent
- 0.23.0-beta.0
- ../pom.xml
-
-
- lancedb-lance-namespace
- ${project.artifactId}
- LanceDB Java Integration with Lance Namespace
- jar
-
-
-
- com.lancedb
- lance-namespace-core
-
-
-
diff --git a/java/lancedb-core/pom.xml b/java/lancedb-core/pom.xml
new file mode 100644
index 00000000..efebeccf
--- /dev/null
+++ b/java/lancedb-core/pom.xml
@@ -0,0 +1,99 @@
+
+
+
+ 4.0.0
+
+
+ com.lancedb
+ lancedb-parent
+ 0.23.0-beta.0
+ ../pom.xml
+
+
+ lancedb-core
+ ${project.artifactId}
+ Utilities to work with LanceDB Cloud and Enterprise via Lance REST Namespace
+ jar
+
+
+
+ org.lance
+ lance-core
+
+
+
+ org.apache.arrow
+ arrow-vector
+
+
+
+ org.apache.arrow
+ arrow-memory-netty
+
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+
+ org.mockito
+ mockito-junit-jupiter
+ 5.18.0
+ test
+
+
+
+ org.slf4j
+ slf4j-api
+ 2.0.16
+ test
+
+
+
+ org.apache.logging.log4j
+ log4j-slf4j2-impl
+ 2.24.3
+ test
+
+
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.24.3
+ test
+
+
+
+ org.apache.logging.log4j
+ log4j-api
+ 2.24.3
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ 3.3.0
+
+
+ attach-sources
+
+ jar-no-fork
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+
+
diff --git a/java/lance-namespace/src/main/java/com/lancedb/lancedb/LanceDbRestNamespaces.java b/java/lancedb-core/src/main/java/com/lancedb/LanceDbRestNamespaceBuilder.java
similarity index 55%
rename from java/lance-namespace/src/main/java/com/lancedb/lancedb/LanceDbRestNamespaces.java
rename to java/lancedb-core/src/main/java/com/lancedb/LanceDbRestNamespaceBuilder.java
index c258921f..1a6b8e32 100644
--- a/java/lance-namespace/src/main/java/com/lancedb/lancedb/LanceDbRestNamespaces.java
+++ b/java/lancedb-core/src/main/java/com/lancedb/LanceDbRestNamespaceBuilder.java
@@ -11,35 +11,58 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.lancedb.lancedb;
+package com.lancedb;
-import com.lancedb.lance.namespace.LanceRestNamespace;
-import com.lancedb.lance.namespace.client.apache.ApiClient;
+import org.lance.namespace.RestNamespace;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
-/** Util class to help construct a {@link LanceRestNamespace} for LanceDB. */
-public class LanceDbRestNamespaces {
+/**
+ * Util class to help construct a {@link RestNamespace} for LanceDB.
+ *
+ * For LanceDB Cloud, use the simplified builder API:
+ *
+ *
{@code
+ * import org.lance.namespace.RestNamespace;
+ *
+ * // If your DB url is db://example-db, then your database here is example-db
+ * RestNamespace namespace = LanceDbRestNamespaceBuilder.newBuilder()
+ * .apiKey("your_lancedb_cloud_api_key")
+ * .database("your_database_name")
+ * .build();
+ * }
+ *
+ * For LanceDB Enterprise deployments, use your custom endpoint:
+ *
+ *
{@code
+ * RestNamespace namespace = LanceDbRestNamespaceBuilder.newBuilder()
+ * .apiKey("your_lancedb_enterprise_api_key")
+ * .database("your_database_name")
+ * .endpoint("")
+ * .build();
+ * }
+ */
+public class LanceDbRestNamespaceBuilder {
private static final String DEFAULT_REGION = "us-east-1";
private static final String CLOUD_URL_PATTERN = "https://%s.%s.api.lancedb.com";
private String apiKey;
private String database;
- private Optional hostOverride = Optional.empty();
+ private Optional endpoint = Optional.empty();
private Optional region = Optional.empty();
private Map additionalConfig = new HashMap<>();
- private LanceDbRestNamespaces() {}
+ private LanceDbRestNamespaceBuilder() {}
/**
* Create a new builder instance.
*
- * @return A new LanceRestNamespaceBuilder
+ * @return A new RestNamespaceBuilder
*/
- public static LanceDbRestNamespaces builder() {
- return new LanceDbRestNamespaces();
+ public static LanceDbRestNamespaceBuilder newBuilder() {
+ return new LanceDbRestNamespaceBuilder();
}
/**
@@ -48,7 +71,7 @@ public class LanceDbRestNamespaces {
* @param apiKey The LanceDB API key
* @return This builder
*/
- public LanceDbRestNamespaces apiKey(String apiKey) {
+ public LanceDbRestNamespaceBuilder apiKey(String apiKey) {
if (apiKey == null || apiKey.trim().isEmpty()) {
throw new IllegalArgumentException("API key cannot be null or empty");
}
@@ -62,7 +85,7 @@ public class LanceDbRestNamespaces {
* @param database The database name
* @return This builder
*/
- public LanceDbRestNamespaces database(String database) {
+ public LanceDbRestNamespaceBuilder database(String database) {
if (database == null || database.trim().isEmpty()) {
throw new IllegalArgumentException("Database cannot be null or empty");
}
@@ -71,25 +94,25 @@ public class LanceDbRestNamespaces {
}
/**
- * Set a custom host override (optional). When set, this overrides the default LanceDB Cloud URL
+ * Set a custom endpoint URL (optional). When set, this overrides the default LanceDB Cloud URL
* construction. Use this for LanceDB Enterprise deployments.
*
- * @param hostOverride The complete base URL (e.g., "http://your-vpc-endpoint:80")
+ * @param endpoint The complete base URL for your LanceDB Enterprise deployment
* @return This builder
*/
- public LanceDbRestNamespaces hostOverride(String hostOverride) {
- this.hostOverride = Optional.ofNullable(hostOverride);
+ public LanceDbRestNamespaceBuilder endpoint(String endpoint) {
+ this.endpoint = Optional.ofNullable(endpoint);
return this;
}
/**
* Set the region for LanceDB Cloud (optional). Defaults to "us-east-1" if not specified. This is
- * ignored when hostOverride is set.
+ * ignored when endpoint is set.
*
* @param region The AWS region (e.g., "us-east-1", "eu-west-1")
* @return This builder
*/
- public LanceDbRestNamespaces region(String region) {
+ public LanceDbRestNamespaceBuilder region(String region) {
this.region = Optional.ofNullable(region);
return this;
}
@@ -101,18 +124,18 @@ public class LanceDbRestNamespaces {
* @param value The configuration value
* @return This builder
*/
- public LanceDbRestNamespaces config(String key, String value) {
+ public LanceDbRestNamespaceBuilder config(String key, String value) {
this.additionalConfig.put(key, value);
return this;
}
/**
- * Build the LanceRestNamespace instance.
+ * Build the Lance RestNamespace instance.
*
- * @return A configured LanceRestNamespace
+ * @return A configured Lance RestNamespace
* @throws IllegalStateException if required parameters are missing
*/
- public LanceRestNamespace build() {
+ public RestNamespace build() {
// Validate required fields
if (apiKey == null) {
throw new IllegalStateException("API key is required");
@@ -123,24 +146,20 @@ public class LanceDbRestNamespaces {
// Build configuration map
Map config = new HashMap<>(additionalConfig);
- config.put("headers.x-lancedb-database", database);
- config.put("headers.x-api-key", apiKey);
+ config.put("header.x-lancedb-database", database);
+ config.put("header.x-api-key", apiKey);
// Determine base URL
- String baseUrl;
- if (hostOverride.isPresent()) {
- baseUrl = hostOverride.get();
- config.put("host_override", hostOverride.get());
+ String uri;
+ if (endpoint.isPresent()) {
+ uri = endpoint.get();
} else {
String effectiveRegion = region.orElse(DEFAULT_REGION);
- baseUrl = String.format(CLOUD_URL_PATTERN, database, effectiveRegion);
- config.put("region", effectiveRegion);
+ uri = String.format(CLOUD_URL_PATTERN, database, effectiveRegion);
}
-
- // Create and configure ApiClient
- ApiClient apiClient = new ApiClient();
- apiClient.setBasePath(baseUrl);
-
- return new LanceRestNamespace(apiClient, config);
+ config.put("uri", uri);
+ RestNamespace ns = new RestNamespace();
+ ns.initialize(config, null);
+ return ns;
}
}
diff --git a/java/lancedb-core/src/test/java/com/lancedb/LanceDbRestNamespaceBuilderTest.java b/java/lancedb-core/src/test/java/com/lancedb/LanceDbRestNamespaceBuilderTest.java
new file mode 100644
index 00000000..f6543028
--- /dev/null
+++ b/java/lancedb-core/src/test/java/com/lancedb/LanceDbRestNamespaceBuilderTest.java
@@ -0,0 +1,96 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.lancedb;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+/** Unit tests for LanceDbRestNamespaceBuilder. */
+public class LanceDbRestNamespaceBuilderTest {
+
+ @Test
+ public void testBuilderRequiresApiKey() {
+ LanceDbRestNamespaceBuilder builder =
+ LanceDbRestNamespaceBuilder.newBuilder().database("test-db");
+
+ IllegalStateException exception = assertThrows(IllegalStateException.class, builder::build);
+ assertEquals("API key is required", exception.getMessage());
+ }
+
+ @Test
+ public void testBuilderRequiresDatabase() {
+ LanceDbRestNamespaceBuilder builder =
+ LanceDbRestNamespaceBuilder.newBuilder().apiKey("test-api-key");
+
+ IllegalStateException exception = assertThrows(IllegalStateException.class, builder::build);
+ assertEquals("Database is required", exception.getMessage());
+ }
+
+ @Test
+ public void testApiKeyCannotBeNull() {
+ IllegalArgumentException exception =
+ assertThrows(
+ IllegalArgumentException.class,
+ () -> LanceDbRestNamespaceBuilder.newBuilder().apiKey(null));
+ assertEquals("API key cannot be null or empty", exception.getMessage());
+ }
+
+ @Test
+ public void testApiKeyCannotBeEmpty() {
+ IllegalArgumentException exception =
+ assertThrows(
+ IllegalArgumentException.class,
+ () -> LanceDbRestNamespaceBuilder.newBuilder().apiKey(" "));
+ assertEquals("API key cannot be null or empty", exception.getMessage());
+ }
+
+ @Test
+ public void testDatabaseCannotBeNull() {
+ IllegalArgumentException exception =
+ assertThrows(
+ IllegalArgumentException.class,
+ () -> LanceDbRestNamespaceBuilder.newBuilder().database(null));
+ assertEquals("Database cannot be null or empty", exception.getMessage());
+ }
+
+ @Test
+ public void testDatabaseCannotBeEmpty() {
+ IllegalArgumentException exception =
+ assertThrows(
+ IllegalArgumentException.class,
+ () -> LanceDbRestNamespaceBuilder.newBuilder().database(" "));
+ assertEquals("Database cannot be null or empty", exception.getMessage());
+ }
+
+ @Test
+ public void testBuilderFluentApi() {
+ // Verify the builder returns itself for chaining
+ LanceDbRestNamespaceBuilder builder = LanceDbRestNamespaceBuilder.newBuilder();
+
+ assertSame(builder, builder.apiKey("test-key"));
+ assertSame(builder, builder.database("test-db"));
+ assertSame(builder, builder.endpoint("http://localhost:8080"));
+ assertSame(builder, builder.region("eu-west-1"));
+ assertSame(builder, builder.config("custom-key", "custom-value"));
+ }
+
+ @Test
+ public void testNewBuilderCreatesNewInstance() {
+ LanceDbRestNamespaceBuilder builder1 = LanceDbRestNamespaceBuilder.newBuilder();
+ LanceDbRestNamespaceBuilder builder2 = LanceDbRestNamespaceBuilder.newBuilder();
+
+ assertNotSame(builder1, builder2);
+ }
+}
diff --git a/java/lancedb-core/src/test/resources/log4j2.xml b/java/lancedb-core/src/test/resources/log4j2.xml
new file mode 100644
index 00000000..00931691
--- /dev/null
+++ b/java/lancedb-core/src/test/resources/log4j2.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/pom.xml b/java/pom.xml
index 1eb946f0..0eeefb6d 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -28,7 +28,7 @@
UTF-8
15.0.0
- 0.0.1
+ 1.0.0-rc.2
false
2.30.0
1.7
@@ -51,8 +51,7 @@
- core
- lance-namespace
+ lancedb-core
@@ -64,9 +63,9 @@
- com.lancedb
- lance-namespace-core
- ${lance-namespace.verison}
+ org.lance
+ lance-core
+ ${lance-core.version}
org.apache.arrow
@@ -88,21 +87,11 @@
arrow-dataset
${arrow.version}
-
- org.questdb
- jar-jni
- 1.1.1
-
org.junit.jupiter
junit-jupiter
5.10.1
-
- org.json
- json
- 20210307
-