Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion java-bigquery/google-cloud-bigquery-jdbc/.gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
drivers/**
target-it/**
*logs*/**
**/*logs*/**
**/ITBigQueryJDBCLocalTest.java
**/BigQueryStatementE2EBenchmark.java

tools/**/*.class
tools/**/*.jfr
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
* An implementation of {@link BigQueryBaseArray} used to represent Array values from Arrow data.
*/
class BigQueryArrowArray extends BigQueryBaseArray {
private static final BigQueryJdbcCustomLogger LOG =
new BigQueryJdbcCustomLogger(BigQueryArrowArray.class.getName());
private static final BigQueryJdbcResultSetLogger LOG =
BigQueryJdbcResultSetLogger.getLogger(BigQueryArrowArray.class);
private static final BigQueryTypeCoercer BIGQUERY_TYPE_COERCER =
BigQueryTypeCoercionUtility.INSTANCE;
private JsonStringArrayList<?> values;
Expand All @@ -41,7 +41,7 @@ public BigQueryArrowArray(Field schema, JsonStringArrayList<?> values) {

@Override
public Object getArray() {
LOG.finest("++enter++");
LOG.finestTrace("getArray", "++enter++");
ensureValid();
if (values == null) {
return null;
Expand All @@ -51,7 +51,7 @@ public Object getArray() {

@Override
public Object getArray(long index, int count) {
LOG.finest("++enter++");
LOG.finestTrace("getArray", "++enter++");
ensureValid();
if (values == null) {
return null;
Expand All @@ -62,7 +62,7 @@ public Object getArray(long index, int count) {

@Override
public ResultSet getResultSet() throws SQLException {
LOG.finest("++enter++");
LOG.finestTrace("getResultSet", "++enter++");
ensureValid();
if (values == null) {
return new BigQueryArrowResultSet();
Expand All @@ -75,7 +75,7 @@ public ResultSet getResultSet() throws SQLException {

@Override
public ResultSet getResultSet(long index, int count) throws SQLException {
LOG.finest("++enter++");
LOG.finestTrace("getResultSet", "++enter++");
ensureValid();
if (values == null) {
return new BigQueryArrowResultSet();
Expand All @@ -89,14 +89,14 @@ public ResultSet getResultSet(long index, int count) throws SQLException {

@Override
public void free() {
LOG.finest("++enter++");
LOG.finestTrace("free", "++enter++");
this.values = null;
markInvalid();
}

@Override
Object getCoercedValue(int index) {
LOG.finest("++enter++");
LOG.finestTrace("getCoercedValue", "++enter++");
Object value = this.values.get(index);
return this.arrayOfStruct
? new BigQueryArrowStruct(schema.getSubFields(), (JsonStringHashMap<?, ?>) value)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ private BigQueryArrowResultSet(
BigQuery bigQuery)
throws SQLException {
super(bigQuery, statement, schema, isNested);
LOG.finest("++enter++");
LOG.finestTrace("<init>", "++enter++");
this.totalRows = totalRows;
this.buffer = buffer;
this.currentNestedBatch = currentNestedBatch;
Expand Down Expand Up @@ -181,7 +181,7 @@ private ArrowDeserializer(ArrowSchema arrowSchema) throws IOException {
}

private void deserializeArrowBatch(ArrowRecordBatch batch) throws SQLException {
LOG.finest("++enter++");
LOG.finestTrace("deserializeArrowBatch", "++enter++");
try {
if (vectorSchemaRoot != null) {
// Clear vectorSchemaRoot before populating a new batch
Expand All @@ -204,7 +204,7 @@ private void deserializeArrowBatch(ArrowRecordBatch batch) throws SQLException {

@Override
public void close() {
LOG.finest("++enter++");
LOG.fineTrace("close", () -> String.format("Closing BigQueryArrowResultSet %s.", this));
vectorSchemaRoot.close();
allocator.close();
}
Expand Down Expand Up @@ -276,7 +276,7 @@ else if (this.currentBatchRowIndex < this.vectorSchemaRoot.getRowCount()) {
}

private Object getObjectInternal(int columnIndex) throws SQLException {
LOG.finest("++enter++");
LOG.finestTrace("getObjectInternal", "++enter++");
checkClosed();
Object value;
if (this.isNested) {
Expand Down Expand Up @@ -318,7 +318,7 @@ private Object getObjectInternal(int columnIndex) throws SQLException {
public Object getObject(int columnIndex) throws SQLException {

// columnIndex is SQL index starting at 1
LOG.finest("++enter++");
LOG.finestTrace("getObject", "++enter++");
checkClosed();
Object value = getObjectInternal(columnIndex);
if (value == null) {
Expand Down Expand Up @@ -449,7 +449,7 @@ private String formatRangeElement(Object element, StandardSQLTypeName elementTyp

@Override
public void close() {
LOG.fine("Closing BigqueryArrowResultSet %s.", this);
LOG.fineTrace("close", () -> String.format("Closing BigqueryArrowResultSet %s.", this));
this.isClosed = true;
if (ownedThread != null && !ownedThread.isInterrupted()) {
// interrupt the producer thread when result set is closed
Expand All @@ -460,7 +460,7 @@ public void close() {

@Override
public boolean isBeforeFirst() throws SQLException {
LOG.finest("++enter++");
LOG.finestTrace("isBeforeFirst", "++enter++");
checkClosed();
if (this.isNested) {
return this.nestedRowIndex < this.fromIndex;
Expand All @@ -471,14 +471,14 @@ public boolean isBeforeFirst() throws SQLException {

@Override
public boolean isAfterLast() throws SQLException {
LOG.finest("++enter++");
LOG.finestTrace("isAfterLast", "++enter++");
checkClosed();
return this.afterLast;
}

@Override
public boolean isFirst() throws SQLException {
LOG.finest("++enter++");
LOG.finestTrace("isFirst", "++enter++");
checkClosed();
if (this.isNested) {
return this.nestedRowIndex == this.fromIndex;
Expand All @@ -489,7 +489,7 @@ public boolean isFirst() throws SQLException {

@Override
public boolean isLast() throws SQLException {
LOG.finest("++enter++");
LOG.finestTrace("isLast", "++enter++");
checkClosed();
if (this.isNested) {
return this.nestedRowIndex == this.toIndexExclusive - 1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
* An implementation of {@link BigQueryBaseStruct} used to represent Struct values from Arrow data.
*/
class BigQueryArrowStruct extends BigQueryBaseStruct {
private static final BigQueryJdbcCustomLogger LOG =
new BigQueryJdbcCustomLogger(BigQueryArrowStruct.class.getName());
private static final BigQueryJdbcResultSetLogger LOG =
BigQueryJdbcResultSetLogger.getLogger(BigQueryArrowStruct.class);

private static final BigQueryTypeCoercer BIGQUERY_TYPE_COERCER =
BigQueryTypeCoercionUtility.INSTANCE;
Expand All @@ -52,7 +52,7 @@ FieldList getSchema() {

@Override
public Object[] getAttributes() {
LOG.finest("++enter++");
LOG.finestTrace("getAttributes", "++enter++");
int size = this.schema.size();
Object[] attributes = (Object[]) Array.newInstance(Object.class, size);

Expand All @@ -71,7 +71,7 @@ public Object[] getAttributes() {
}

private Object getValue(Field currentSchema, Object currentValue) {
LOG.finest("++enter++");
LOG.finestTrace("getValue", "++enter++");
if (isArray(currentSchema)) {
return new BigQueryArrowArray(currentSchema, (JsonStringArrayList<?>) currentValue);
} else if (isStruct(currentSchema)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@
* reference to an SQL ARRAY value.
*/
abstract class BigQueryBaseArray implements java.sql.Array {
private static final BigQueryJdbcCustomLogger LOG =
new BigQueryJdbcCustomLogger(BigQueryBaseArray.class.getName());
private static final BigQueryJdbcResultSetLogger LOG =
BigQueryJdbcResultSetLogger.getLogger(BigQueryBaseArray.class);

protected final boolean arrayOfStruct;
private boolean valid;
Expand All @@ -56,14 +56,14 @@ abstract class BigQueryBaseArray implements java.sql.Array {

@Override
public final String getBaseTypeName() {
LOG.finest("++enter++");
LOG.finestTrace("getBaseTypeName", "++enter++");
ensureValid();
return this.schema.getType().getStandardType().name();
}

@Override
public final int getBaseType() {
LOG.finest("++enter++");
LOG.finestTrace("getBaseType", "++enter++");
ensureValid();
return BigQueryJdbcTypeMappings.standardSQLToJavaSqlTypesMapping.get(
schema.getType().getStandardType());
Expand Down Expand Up @@ -92,7 +92,7 @@ public final ResultSet getResultSet(long index, int count, Map<String, Class<?>>
}

protected Object getArrayInternal(int fromIndex, int toIndexExclusive) {
LOG.finest("++enter++");
LOG.finestTrace("getArrayInternal", "++enter++");
Class<?> targetClass = getTargetClass();
int size = toIndexExclusive - fromIndex;
Object javaArray = Array.newInstance(targetClass, size);
Expand All @@ -104,7 +104,7 @@ protected Object getArrayInternal(int fromIndex, int toIndexExclusive) {
}

protected void ensureValid() throws IllegalStateException {
LOG.finest("++enter++");
LOG.finestTrace("ensureValid", "++enter++");
if (!this.valid) {
IllegalStateException ex = new IllegalStateException(INVALID_ARRAY);
LOG.severe(INVALID_ARRAY, ex);
Expand All @@ -113,19 +113,19 @@ protected void ensureValid() throws IllegalStateException {
}

protected void markInvalid() {
LOG.finest("++enter++");
LOG.finestTrace("markInvalid", "++enter++");
this.schema = null;
this.valid = false;
}

protected Field singleElementSchema() {
LOG.finest("++enter++");
LOG.finestTrace("singleElementSchema", "++enter++");
return this.schema.toBuilder().setMode(Mode.REQUIRED).build();
}

protected Tuple<Integer, Integer> createRange(long index, int count, int size)
throws IllegalStateException {
LOG.finest("++enter++");
LOG.finestTrace("createRange", "++enter++");
// jdbc array follows 1 based array indexing
long normalisedFromIndex = index - 1;
if (normalisedFromIndex + count > size) {
Expand All @@ -142,7 +142,7 @@ protected Tuple<Integer, Integer> createRange(long index, int count, int size)
}

protected Class<?> getTargetClass() {
LOG.finest("++enter++");
LOG.finestTrace("getTargetClass", "++enter++");
return this.arrayOfStruct
? Struct.class
: BigQueryJdbcTypeMappings.standardSQLToJavaTypeMapping.get(
Expand All @@ -152,7 +152,7 @@ protected Class<?> getTargetClass() {
abstract Object getCoercedValue(int index);

static boolean isArray(Field currentSchema) {
LOG.finest("++enter++");
LOG.finestTrace("isArray", "++enter++");
return currentSchema.getMode() == REPEATED;
}

Expand Down
Loading
Loading