forked from databricks/databricks-jdbc
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIDatabricksStatementInternal.java
More file actions
51 lines (36 loc) · 1.71 KB
/
IDatabricksStatementInternal.java
File metadata and controls
51 lines (36 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package com.databricks.jdbc.api.internal;
import com.databricks.jdbc.api.IDatabricksResultSet;
import com.databricks.jdbc.dbclient.impl.common.StatementId;
import com.databricks.jdbc.exception.DatabricksSQLException;
import java.sql.Statement;
import org.apache.http.entity.InputStreamEntity;
/** Extended callback handle for java.sql.Statement interface */
public interface IDatabricksStatementInternal {
void close(boolean removeFromSession) throws DatabricksSQLException;
void handleResultSetClose(IDatabricksResultSet resultSet) throws DatabricksSQLException;
int getMaxRows() throws DatabricksSQLException;
void setStatementId(StatementId statementId);
StatementId getStatementId();
Statement getStatement();
void allowInputStreamForVolumeOperation(boolean allowedInputStream) throws DatabricksSQLException;
boolean isAllowedInputStreamForVolumeOperation() throws DatabricksSQLException;
void setInputStreamForUCVolume(InputStreamEntity inputStream) throws DatabricksSQLException;
InputStreamEntity getInputStreamForUCVolume() throws DatabricksSQLException;
/**
* Marks that the server returned direct (inline) results and closed the operation. The JDBC
* Statement remains open for re-execution. Default no-op for implementations that don't support
* direct results.
*/
default void markDirectResultsReceived() {
// no-op by default
}
/**
* Proactively closes the server-side operation to release server resources while keeping the
* client-side Statement open for reuse. Default no-op for implementations that don't support
* proactive close.
*/
default void closeServerOperation() {
// no-op by default
}
long getLargeMaxRows() throws DatabricksSQLException;
}