Skip to content

Commit e963e3a

Browse files
committed
fix
1 parent 8ecada0 commit e963e3a

2 files changed

Lines changed: 15 additions & 4 deletions

File tree

databend-jdbc/src/main/java/com/databend/jdbc/DatabendConnection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -904,7 +904,7 @@ public void uploadStream(String stageName, String destPrefix, InputStream inputS
904904
fileSize = byteArrayOutputStream.size();
905905
}
906906
if (this.presignDisabled) {
907-
DatabendPresignClient cli = new DatabendPresignClientV1(httpClient, this.httpUri.toString());
907+
DatabendPresignClient cli = new DatabendPresignClientV1(httpClient, this.httpUri.toString(), this.driverUri.getWarehouse());
908908
cli.presignUpload(null, dataStream, s, p + "/", destFileName, fileSize, true);
909909
} else {
910910
// logger.log(Level.FINE, "presign to @" + s + "/" + dest);

databend-jdbc/src/main/java/com/databend/jdbc/cloud/DatabendPresignClientV1.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import java.util.logging.Level;
2929
import java.util.logging.Logger;
3030

31+
import static com.databend.client.ClientSettings.DatabendWarehouseHeader;
3132
import static com.databend.client.ClientSettings.X_DATABEND_RELATIVE_PATH;
3233
import static com.databend.client.ClientSettings.X_DATABEND_STAGE_NAME;
3334
import static java.lang.String.format;
@@ -43,9 +44,15 @@ public class DatabendPresignClientV1
4344
private static final Duration RetryTimeout = Duration.ofMinutes(5);
4445
private final OkHttpClient client;
4546
private final String uri;
47+
private final String warehouse;
4648
private static final Logger logger = Logger.getLogger(DatabendPresignClientV1.class.getPackage().getName());
4749

4850
public DatabendPresignClientV1(OkHttpClient client, String uri)
51+
{
52+
this(client, uri, null);
53+
}
54+
55+
public DatabendPresignClientV1(OkHttpClient client, String uri, String warehouse)
4956
{
5057
Logger.getLogger(OkHttpClient.class.getName()).setLevel(Level.FINEST);
5158
OkHttpClient.Builder builder = client.newBuilder();
@@ -90,6 +97,7 @@ public DatabendPresignClientV1(OkHttpClient client, String uri)
9097
return response;
9198
}).build();
9299
this.uri = uri;
100+
this.warehouse = warehouse;
93101
}
94102

95103
private void uploadFromStream(InputStream inputStream, String stageName, String relativePath, String name, long fileSize)
@@ -100,10 +108,13 @@ private void uploadFromStream(InputStream inputStream, String stageName, String
100108
.setType(MultipartBody.FORM)
101109
.addFormDataPart("upload", name, new InputStreamRequestBody(null, inputStream, fileSize))
102110
.build();
103-
Headers headers = new Headers.Builder()
111+
Headers.Builder headersBuilder = new Headers.Builder()
104112
.add(X_DATABEND_STAGE_NAME, stageName)
105-
.add(X_DATABEND_RELATIVE_PATH, relativePath)
106-
.build();
113+
.add(X_DATABEND_RELATIVE_PATH, relativePath);
114+
if (this.warehouse != null && !this.warehouse.isEmpty()) {
115+
headersBuilder.add(DatabendWarehouseHeader, this.warehouse);
116+
}
117+
Headers headers = headersBuilder.build();
107118

108119
HttpUrl url = HttpUrl.get(this.uri);
109120
url = new HttpUrl.Builder()

0 commit comments

Comments
 (0)