Skip to content

Commit f18d4e2

Browse files
committed
2 parents 94d9c6e + 5397957 commit f18d4e2

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

dqops/src/main/java/com/dqops/connectors/duckdb/DuckdbSourceConnection.java

+8
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@
4444
import tech.tablesaw.api.Table;
4545
import tech.tablesaw.columns.Column;
4646

47+
import java.nio.file.Files;
48+
import java.nio.file.Path;
4749
import java.sql.ResultSet;
4850
import java.sql.SQLException;
4951
import java.sql.Statement;
@@ -64,6 +66,7 @@ public class DuckdbSourceConnection extends AbstractJdbcSourceConnection {
6466
private final DqoDuckdbConfiguration dqoDuckdbConfiguration;
6567
private static final Object settingsExecutionLock = new Object();
6668
private static final boolean settingsConfigured = false;
69+
private static final String temporaryDirectoryPrefix = "dqops_duckdb_temp_";
6770

6871
/**
6972
* Injection constructor for the duckdb connection.
@@ -195,6 +198,11 @@ private void configureSettings(){
195198

196199
String threadsQuery = "SET GLOBAL threads = " + dqoDuckdbConfiguration.getThreads();
197200
this.executeCommand(threadsQuery, JobCancellationToken.createDummyJobCancellationToken());
201+
202+
String temporaryDirectory = Files.createTempDirectory(temporaryDirectoryPrefix).toFile().getAbsolutePath();
203+
Path.of(temporaryDirectory).toFile().deleteOnExit();
204+
String tempDirectoryQuery = "SET temp_directory = " + temporaryDirectory;
205+
this.executeCommand(tempDirectoryQuery, JobCancellationToken.createDummyJobCancellationToken());
198206
}
199207
} catch (Exception e) {
200208
throw new RuntimeException(e);

0 commit comments

Comments
 (0)