Skip to content

Commit 3244c77

Browse files
committed
Merge remote-tracking branch 'xerial/master'
2 parents 086e14d + 8455468 commit 3244c77

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

src/main/java/org/sqlite/jdbc3/JDBC3DatabaseMetaData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,10 +1057,10 @@ public ResultSet getColumns(String c, String s, String tblNamePattern, String co
10571057
}
10581058
// try to parse the values
10591059
try {
1060-
int iInteger = Integer.parseUnsignedInt(sInteger);
1060+
int iInteger = Integer.parseUnsignedInt(sInteger.trim());
10611061
// parse decimals?
10621062
if (sDecimal != null) {
1063-
iDecimalDigits = Integer.parseUnsignedInt(sDecimal);
1063+
iDecimalDigits = Integer.parseUnsignedInt(sDecimal.trim());
10641064
// columns size equals sum of integer and decimal part
10651065
// of dimension
10661066
iColumnSize = iInteger + iDecimalDigits;

src/test/java/org/sqlite/DBMetaDataTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,24 @@ public void getColumns() throws SQLException {
477477
assertThat(rs.getString("COLUMN_NAME")).isEqualTo("sql");
478478
}
479479

480+
@Test
481+
public void getColumnsPrecisionScale() throws SQLException {
482+
stat.executeUpdate("create table gh_1215 (n numeric ( 10 , 5 ), d decimal ( 10 ))");
483+
484+
ResultSet rs = meta.getColumns(null, null, "gh_1215", "%");
485+
assertThat(rs.next()).isTrue();
486+
assertThat(rs.getString("COLUMN_NAME")).isEqualTo("n");
487+
assertThat(rs.getString("TYPE_NAME")).isEqualTo("NUMERIC");
488+
assertThat(rs.getString("COLUMN_SIZE")).isEqualTo("15");
489+
assertThat(rs.getString("DECIMAL_DIGITS")).isEqualTo("5");
490+
assertThat(rs.next()).isTrue();
491+
assertThat(rs.getString("COLUMN_NAME")).isEqualTo("d");
492+
assertThat(rs.getString("TYPE_NAME")).isEqualTo("DECIMAL");
493+
assertThat(rs.getString("COLUMN_SIZE")).isEqualTo("10");
494+
assertThat(rs.getString("DECIMAL_DIGITS")).isEqualTo("0");
495+
assertThat(rs.next()).isFalse();
496+
}
497+
480498
@Test
481499
public void getColumnsIncludingGenerated() throws SQLException {
482500
stat.executeUpdate("create table gh_724 (i integer,j integer generated always as (i))");

0 commit comments

Comments
 (0)