Details
diff --git a/util/src/main/java/org/killbill/billing/util/validation/dao/DatabaseSchemaSqlDao.java b/util/src/main/java/org/killbill/billing/util/validation/dao/DatabaseSchemaSqlDao.java
index e9007fb..78e6d0f 100644
--- a/util/src/main/java/org/killbill/billing/util/validation/dao/DatabaseSchemaSqlDao.java
+++ b/util/src/main/java/org/killbill/billing/util/validation/dao/DatabaseSchemaSqlDao.java
@@ -45,8 +45,8 @@ public interface DatabaseSchemaSqlDao {
public DefaultColumnInfo map(final int index, final ResultSet r, final StatementContext ctx) throws SQLException {
final String tableName = r.getString("table_name");
final String columnName = r.getString("column_name");
- final Integer scale = r.getInt("numeric_scale");
- final Integer precision = r.getInt("numeric_precision");
+ final Long scale = r.getLong("numeric_scale");
+ final Long precision = r.getLong("numeric_precision");
// Special handling for PostgreSQL - the implementation of AbstractJdbc2ResultSet#getBoolean doesn't support YES/NO
final String isNullableString = r.getString("is_nullable");
@@ -59,7 +59,7 @@ public interface DatabaseSchemaSqlDao {
isNullable = r.getBoolean("is_nullable");
}
- final Integer maximumLength = r.getInt("character_maximum_length");
+ final Long maximumLength = r.getLong("character_maximum_length");
final String dataType = r.getString("data_type");
return new DefaultColumnInfo(tableName, columnName, scale, precision, isNullable, maximumLength, dataType);
diff --git a/util/src/main/java/org/killbill/billing/util/validation/DefaultColumnInfo.java b/util/src/main/java/org/killbill/billing/util/validation/DefaultColumnInfo.java
index 243e89a..44e0b5d 100644
--- a/util/src/main/java/org/killbill/billing/util/validation/DefaultColumnInfo.java
+++ b/util/src/main/java/org/killbill/billing/util/validation/DefaultColumnInfo.java
@@ -1,7 +1,9 @@
/*
- * Copyright 2010-2011 Ning, Inc.
+ * Copyright 2010-2013 Ning, Inc.
+ * Copyright 2014-2017 Groupon, Inc
+ * Copyright 2014-2017 The Billing Project, LLC
*
- * Ning licenses this file to you under the Apache License, version 2.0
+ * The Billing Project licenses this file to you under the Apache License, version 2.0
* (the "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
*
@@ -22,14 +24,14 @@ public class DefaultColumnInfo implements ColumnInfo {
private final String tableName;
private final String columnName;
- private final int scale;
- private final int precision;
+ private final Long scale;
+ private final Long precision;
private final boolean isNullable;
- private final int maximumLength;
+ private final Long maximumLength;
private final String dataType;
- public DefaultColumnInfo(final String tableName, final String columnName, final int scale, final int precision,
- final boolean nullable, final int maximumLength, final String dataType) {
+ public DefaultColumnInfo(final String tableName, final String columnName, final Long scale, final Long precision,
+ final boolean nullable, final Long maximumLength, final String dataType) {
this.tableName = tableName;
this.columnName = columnName;
this.scale = scale;
@@ -49,11 +51,11 @@ public class DefaultColumnInfo implements ColumnInfo {
return columnName;
}
- public int getScale() {
+ public Long getScale() {
return scale;
}
- public int getPrecision() {
+ public Long getPrecision() {
return precision;
}
@@ -61,7 +63,7 @@ public class DefaultColumnInfo implements ColumnInfo {
return isNullable;
}
- public int getMaximumLength() {
+ public Long getMaximumLength() {
return maximumLength;
}
diff --git a/util/src/test/java/org/killbill/billing/util/export/dao/TestCSVExportOutputStream.java b/util/src/test/java/org/killbill/billing/util/export/dao/TestCSVExportOutputStream.java
index 90a96a4..d76554d 100644
--- a/util/src/test/java/org/killbill/billing/util/export/dao/TestCSVExportOutputStream.java
+++ b/util/src/test/java/org/killbill/billing/util/export/dao/TestCSVExportOutputStream.java
@@ -39,9 +39,9 @@ public class TestCSVExportOutputStream extends UtilTestSuiteNoDB {
final String tableName = UUID.randomUUID().toString();
out.newTable(tableName,
ImmutableList.<ColumnInfo>of(
- new DefaultColumnInfo(tableName, "first_name", 0, 0, true, 0, "varchar"),
- new DefaultColumnInfo(tableName, "last_name", 0, 0, true, 0, "varchar"),
- new DefaultColumnInfo(tableName, "age", 0, 0, true, 0, "tinyint"))
+ new DefaultColumnInfo(tableName, "first_name", 0L, 0L, true, 0L, "varchar"),
+ new DefaultColumnInfo(tableName, "last_name", 0L, 0L, true, 0L, "varchar"),
+ new DefaultColumnInfo(tableName, "age", 0L, 0L, true, 0L, "tinyint"))
);
// Write some data
diff --git a/util/src/test/java/org/killbill/billing/util/validation/TestValidationManager.java b/util/src/test/java/org/killbill/billing/util/validation/TestValidationManager.java
index 064a22b..68f8773 100644
--- a/util/src/test/java/org/killbill/billing/util/validation/TestValidationManager.java
+++ b/util/src/test/java/org/killbill/billing/util/validation/TestValidationManager.java
@@ -56,8 +56,8 @@ public class TestValidationManager extends UtilTestSuiteWithEmbeddedDB {
final DefaultColumnInfo numericColumnInfo = vm.getColumnInfo(TABLE_NAME, "column3");
assertNotNull(numericColumnInfo);
- assertEquals(numericColumnInfo.getScale(), 4);
- assertEquals(numericColumnInfo.getPrecision(), 10);
+ assertEquals(numericColumnInfo.getScale(), (Long) 4L);
+ assertEquals(numericColumnInfo.getPrecision(), (Long) 10L);
}
@Test(groups = "slow")