diff --git a/plugin/trino-lance/pom.xml b/plugin/trino-lance/pom.xml index 93edc32..82ce1e3 100755 --- a/plugin/trino-lance/pom.xml +++ b/plugin/trino-lance/pom.xml @@ -116,7 +116,7 @@ org.lance lance-core - 4.0.0 + 5.0.0-beta.4 org.junit.jupiter @@ -128,13 +128,13 @@ org.lance lance-namespace-apache-client - 0.5.2 + 0.6.1 org.lance lance-namespace-core - 0.5.2 + 0.6.1 diff --git a/plugin/trino-lance/src/main/java/io/trino/plugin/lance/LancePageSink.java b/plugin/trino-lance/src/main/java/io/trino/plugin/lance/LancePageSink.java index 586edde..12c0aba 100644 --- a/plugin/trino-lance/src/main/java/io/trino/plugin/lance/LancePageSink.java +++ b/plugin/trino-lance/src/main/java/io/trino/plugin/lance/LancePageSink.java @@ -27,7 +27,6 @@ import org.lance.FragmentMetadata; import org.lance.WriteFragmentBuilder; import org.lance.namespace.LanceNamespace; -import org.lance.namespace.LanceNamespaceStorageOptionsProvider; import java.util.ArrayList; import java.util.Collection; @@ -184,17 +183,13 @@ private List writeFragments() } if (storageOptions != null && !storageOptions.isEmpty()) { + fragmentWriter = fragmentWriter.storageOptions(storageOptions); + if (storageOptions.containsKey("expires_at_millis")) { - // Credentials have expiration - use provider for auto-refresh - LanceNamespaceStorageOptionsProvider storageOptionsProvider = - new LanceNamespaceStorageOptionsProvider(namespace, tableId); + // Lance 5.x wires storage refresh through namespace client + table ID. fragmentWriter = fragmentWriter - .storageOptions(storageOptions) - .storageOptionsProvider(storageOptionsProvider); - } - else { - // Static credentials - use storage options directly without provider - fragmentWriter = fragmentWriter.storageOptions(storageOptions); + .namespaceClient(namespace) + .tableId(tableId); } }