diff --git a/java/lance-jni/src/sql.rs b/java/lance-jni/src/sql.rs index 970485aa06e..5d37580bb9f 100644 --- a/java/lance-jni/src/sql.rs +++ b/java/lance-jni/src/sql.rs @@ -80,7 +80,7 @@ fn sql_builder( let sql_str = sql.extract(env)?; let table_str = env.get_string_opt(&table_name)?; - let mut dataset_guard = + let dataset_guard = unsafe { env.get_rust_field::<_, _, BlockingDataset>(java_dataset, NATIVE_DATASET) }?; let mut builder = dataset_guard diff --git a/python/src/dataset.rs b/python/src/dataset.rs index 06cd5965899..e31071bb345 100644 --- a/python/src/dataset.rs +++ b/python/src/dataset.rs @@ -2567,8 +2567,7 @@ impl Dataset { #[pyo3(signature=(sql))] fn sql(&self, sql: String) -> PyResult { - let mut ds = self.ds.as_ref().clone(); - let builder = ds.sql(&sql); + let builder = self.ds.sql(&sql); Ok(SqlQueryBuilder { builder }) } } diff --git a/rust/lance/src/dataset.rs b/rust/lance/src/dataset.rs index d3fd1bc0a8c..833bec68be1 100644 --- a/rust/lance/src/dataset.rs +++ b/rust/lance/src/dataset.rs @@ -1997,7 +1997,7 @@ impl Dataset { /// Run a SQL query against the dataset. /// The underlying SQL engine is DataFusion. /// Please refer to the DataFusion documentation for supported SQL syntax. - pub fn sql(&mut self, sql: &str) -> SqlQueryBuilder { + pub fn sql(&self, sql: &str) -> SqlQueryBuilder { SqlQueryBuilder::new(self.clone(), sql) } diff --git a/rust/lance/src/dataset/sql.rs b/rust/lance/src/dataset/sql.rs index 4c58375619e..bf05a080aa3 100644 --- a/rust/lance/src/dataset/sql.rs +++ b/rust/lance/src/dataset/sql.rs @@ -118,7 +118,7 @@ mod tests { #[tokio::test] async fn test_sql_execute() { - let mut ds = gen_batch() + let ds = gen_batch() .col("x", array::step::()) .col("y", array::step_custom::(0, 2)) .into_dataset( @@ -167,7 +167,7 @@ mod tests { #[tokio::test] async fn test_sql_count() { - let mut ds = gen_batch() + let ds = gen_batch() .col("x", array::step::()) .col("y", array::step_custom::(0, 2)) .into_dataset( @@ -211,7 +211,7 @@ mod tests { #[tokio::test] async fn test_explain() { - let mut ds = gen_batch() + let ds = gen_batch() .col("x", array::step::()) .col("y", array::step_custom::(0, 2)) .into_dataset( @@ -248,7 +248,7 @@ mod tests { #[tokio::test] async fn test_analyze() { - let mut ds = gen_batch() + let ds = gen_batch() .col("x", array::step::()) .col("y", array::step_custom::(0, 2)) .into_dataset(