Skip to content

Commit

Permalink
[eclipse-vertx#1392] add createArray() for Oracle
Browse files Browse the repository at this point in the history
  • Loading branch information
blafond authored and tsegismont committed Mar 18, 2024
1 parent acb02de commit d2f037b
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ static Future<OracleConnection> connect(Vertx vertx, String connectionUri) {
return connect(vertx, fromUri(connectionUri));
}

Object createArray(String typeName, Object elements);

/**
* {@inheritDoc}
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import io.vertx.sqlclient.impl.Connection;
import io.vertx.sqlclient.impl.SqlConnectionBase;
import io.vertx.sqlclient.spi.ConnectionFactory;
import oracle.jdbc.internal.OracleArray;

public class OracleConnectionImpl extends SqlConnectionBase<OracleConnectionImpl> implements OracleConnection {

Expand All @@ -32,4 +33,9 @@ public static Future<OracleConnection> connect(Vertx vertx, OracleConnectOptions
OracleConnectionFactory client = new OracleConnectionFactory(ctx.owner());
return prepareForClose(ctx, client.connect(ctx, options)).map(OracleConnection::cast);
}

@Override
public Object createArray(String typeName, Object elements) {
return ((OracleJdbcConnection) conn.unwrap()).createArray(typeName, elements);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,15 @@ public OracleJdbcConnection(ContextInternal ctx, ClientMetrics metrics, OracleCo
this.metadata = metadata;
}

public Object createArray(String typeName, Object elements) {
try {
return connection.createARRAY( typeName, elements );
}
catch (SQLException e) {
throw new RuntimeException( e );
}
}

@Override
public ClientMetrics metrics() {
return metrics;
Expand Down

0 comments on commit d2f037b

Please sign in to comment.