Skip to content

Commit 35bc650

Browse files
committed
Changes to Connection.java, Operation.java and OperationGroup.java
1 parent 6b0015c commit 35bc650

File tree

3 files changed

+20
-23
lines changed

3 files changed

+20
-23
lines changed

java/AoJ/src/com/oracle/adbaoverjdbc/com/oracle/adbaoverjdbc/Connection.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,14 +225,22 @@ jdk.incubator.sql2.Submission<Object> submit(com.oracle.adbaoverjdbc.Operation<O
225225
}
226226
}
227227

228+
protected <V> V connectionPropertyValue(ConnectionProperty prop) {
229+
V value = (V)properties.get(prop);
230+
if (value == null) return (V)prop.defaultValue();
231+
else return value;
232+
}
233+
228234

229235

230236

231237
// JDBC operations. These are all blocking
232238

233239
private Void jdbcConnect(com.oracle.adbaoverjdbc.Operation<Void> op) {
234240
try {
235-
Properties info = (Properties) ((Properties) properties.get(JdbcConnectionProperties.JDBC_CONNECTION_PROPERTIES)).clone();
241+
Properties info = (Properties)properties.get(JdbcConnectionProperties.JDBC_CONNECTION_PROPERTIES);
242+
info = (Properties)(info == null ? JdbcConnectionProperties.JDBC_CONNECTION_PROPERTIES.defaultValue()
243+
: info.clone());
236244
info.setProperty("user", (String) properties.get(AdbaConnectionProperty.USER));
237245
info.setProperty("password", (String) properties.get(AdbaConnectionProperty.PASSWORD));
238246
String url = (String) properties.get(AdbaConnectionProperty.URL);

java/AoJ/src/com/oracle/adbaoverjdbc/com/oracle/adbaoverjdbc/Operation.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -48,24 +48,20 @@ abstract class Operation<T> implements jdk.incubator.sql2.Operation<T> {
4848
private static final Map<Class, SQLType> CLASS_TO_JDBCTYPE = new HashMap<>(20);
4949
static {
5050
try {
51-
CLASS_TO_JDBCTYPE.put(Boolean.class, JDBCType.BOOLEAN);
5251
CLASS_TO_JDBCTYPE.put(BigInteger.class, JDBCType.BIGINT);
53-
CLASS_TO_JDBCTYPE.put(Class.forName("[B"), JDBCType.BINARY);
54-
CLASS_TO_JDBCTYPE.put(Boolean.class, JDBCType.BIT);
5552
CLASS_TO_JDBCTYPE.put(Boolean.class, JDBCType.BOOLEAN);
53+
CLASS_TO_JDBCTYPE.put(Byte.class, JDBCType.TINYINT);
54+
CLASS_TO_JDBCTYPE.put(Class.forName("[B"), JDBCType.VARBINARY);
5655
CLASS_TO_JDBCTYPE.put(Character.class, JDBCType.CHAR);
57-
CLASS_TO_JDBCTYPE.put(LocalDate.class, JDBCType.DATE);
5856
CLASS_TO_JDBCTYPE.put(Double.class, JDBCType.DOUBLE);
5957
CLASS_TO_JDBCTYPE.put(Float.class, JDBCType.FLOAT);
6058
CLASS_TO_JDBCTYPE.put(Integer.class, JDBCType.INTEGER);
61-
CLASS_TO_JDBCTYPE.put(Float.class, JDBCType.REAL);
62-
CLASS_TO_JDBCTYPE.put(Short.class, JDBCType.SMALLINT);
63-
CLASS_TO_JDBCTYPE.put(LocalTime.class, JDBCType.TIME);
59+
CLASS_TO_JDBCTYPE.put(LocalDate.class, JDBCType.DATE);
6460
CLASS_TO_JDBCTYPE.put(LocalDateTime.class, JDBCType.TIMESTAMP);
65-
CLASS_TO_JDBCTYPE.put(OffsetTime.class, JDBCType.TIME_WITH_TIMEZONE);
61+
CLASS_TO_JDBCTYPE.put(LocalTime.class, JDBCType.TIME);
6662
CLASS_TO_JDBCTYPE.put(OffsetDateTime.class, JDBCType.TIMESTAMP_WITH_TIMEZONE);
67-
CLASS_TO_JDBCTYPE.put(Byte.class, JDBCType.TINYINT);
68-
CLASS_TO_JDBCTYPE.put(Class.forName("[byte"), JDBCType.VARBINARY);
63+
CLASS_TO_JDBCTYPE.put(OffsetTime.class, JDBCType.TIME_WITH_TIMEZONE);
64+
CLASS_TO_JDBCTYPE.put(Short.class, JDBCType.SMALLINT);
6965
CLASS_TO_JDBCTYPE.put(String.class, JDBCType.VARCHAR);
7066
}
7167
catch (ClassNotFoundException ex) { /* should never happen */ }
@@ -88,9 +84,9 @@ abstract class Operation<T> implements jdk.incubator.sql2.Operation<T> {
8884
ADBATYPE_TO_JDBCTYPE.put(AdbaType.FLOAT, JDBCType.FLOAT);
8985
ADBATYPE_TO_JDBCTYPE.put(AdbaType.INTEGER, JDBCType.INTEGER);
9086
ADBATYPE_TO_JDBCTYPE.put(AdbaType.JAVA_OBJECT, JDBCType.JAVA_OBJECT);
91-
ADBATYPE_TO_JDBCTYPE.put(AdbaType.LONGNVARCHAR, JDBCType.LONGNVARCHAR);
92-
ADBATYPE_TO_JDBCTYPE.put(AdbaType.LONGVARBINARY, JDBCType.LONGVARBINARY);
93-
ADBATYPE_TO_JDBCTYPE.put(AdbaType.LONGVARCHAR, JDBCType.LONGVARBINARY);
87+
ADBATYPE_TO_JDBCTYPE.put(AdbaType.LONG_NVARCHAR, JDBCType.LONGNVARCHAR);
88+
ADBATYPE_TO_JDBCTYPE.put(AdbaType.LONG_VARBINARY, JDBCType.LONGVARBINARY);
89+
ADBATYPE_TO_JDBCTYPE.put(AdbaType.LONG_VARCHAR, JDBCType.LONGVARBINARY);
9490
ADBATYPE_TO_JDBCTYPE.put(AdbaType.NCHAR, JDBCType.NCHAR);
9591
ADBATYPE_TO_JDBCTYPE.put(AdbaType.NCLOB, JDBCType.NCLOB);
9692
ADBATYPE_TO_JDBCTYPE.put(AdbaType.NULL, JDBCType.NULL);

java/AoJ/src/com/oracle/adbaoverjdbc/com/oracle/adbaoverjdbc/OperationGroup.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,11 @@
1616
package com.oracle.adbaoverjdbc;
1717

1818
import jdk.incubator.sql2.ArrayCountOperation;
19-
import jdk.incubator.sql2.DynamicMultiOperation;
2019
import jdk.incubator.sql2.LocalOperation;
2120
import jdk.incubator.sql2.OutOperation;
2221
import jdk.incubator.sql2.ParameterizedCountOperation;
2322
import jdk.incubator.sql2.ParameterizedRowOperation;
2423
import jdk.incubator.sql2.RowProcessorOperation;
25-
import jdk.incubator.sql2.StaticMultiOperation;
2624
import jdk.incubator.sql2.Submission;
2725
import jdk.incubator.sql2.Transaction;
2826
import jdk.incubator.sql2.TransactionOutcome;
@@ -34,6 +32,7 @@
3432
import java.util.function.Consumer;
3533
import java.util.logging.Logger;
3634
import java.util.stream.Collector;
35+
import jdk.incubator.sql2.MultiOperation;
3736

3837
/**
3938
* Only sequential, dependent, unconditional supported.
@@ -205,13 +204,7 @@ public <R extends S> RowProcessorOperation<R> rowProcessorOperation(String sql)
205204
}
206205

207206
@Override
208-
public <R extends S> StaticMultiOperation<R> staticMultiOperation(String sql) {
209-
if ( ! isHeld() ) throw new IllegalStateException("TODO");
210-
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
211-
}
212-
213-
@Override
214-
public <R extends S> DynamicMultiOperation<R> dynamicMultiOperation(String sql) {
207+
public <R extends S> MultiOperation<R> multiOperation(String sql) {
215208
if ( ! isHeld() ) throw new IllegalStateException("TODO");
216209
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
217210
}

0 commit comments

Comments
 (0)