|
14 | 14 | import com.google.protobuf.Any; |
15 | 15 | import com.google.protobuf.Empty; |
16 | 16 | import com.google.protobuf.ListValue; |
| 17 | +import com.google.protobuf.NullValue; |
17 | 18 | import com.google.protobuf.Value; |
18 | 19 | import com.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata; |
19 | 20 | import com.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest; |
@@ -76,6 +77,10 @@ public abstract class AbstractMockServerTest { |
76 | 77 | Statement.of( |
77 | 78 | "INSERT INTO DATABASECHANGELOG (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, DESCRIPTION, COMMENTS, EXECTYPE, CONTEXTS, LABELS, LIQUIBASE, DEPLOYMENT_ID)"); |
78 | 79 |
|
| 80 | + static final Statement GET_COLUMN_DEFAULT_STATEMENT = |
| 81 | + Statement.of( |
| 82 | + "SELECT DISTINCT COLUMN_DEFAULT AS COLUMN_DEF FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_CATALOG = @p1 AND TABLE_SCHEMA = @p2 AND TABLE_NAME = @p3 AND COLUMN_NAME = @p4"); |
| 83 | + |
79 | 84 | private static final ResultSetMetadata SINGLE_COL_INT64_METADATA = |
80 | 85 | ResultSetMetadata.newBuilder() |
81 | 86 | .setRowType( |
@@ -324,6 +329,28 @@ private static void registerDefaultResults() { |
324 | 329 | mockSpanner.putStatementResult( |
325 | 330 | StatementResult.query(SELECT_MAX_ORDER_EXEC, createInt64ResultSet(0L))); |
326 | 331 | mockSpanner.putPartialStatementResult(StatementResult.update(INSERT_DATABASECHANGELOG, 1L)); |
| 332 | + |
| 333 | + // TODO: Remove when the JDBC driver includes the column default in getColumns |
| 334 | + mockSpanner.putPartialStatementResult( |
| 335 | + StatementResult.query( |
| 336 | + GET_COLUMN_DEFAULT_STATEMENT, |
| 337 | + ResultSet.newBuilder() |
| 338 | + .setMetadata( |
| 339 | + ResultSetMetadata.newBuilder() |
| 340 | + .setRowType( |
| 341 | + StructType.newBuilder() |
| 342 | + .addFields( |
| 343 | + Field.newBuilder() |
| 344 | + .setName("COLUMN_DEF") |
| 345 | + .setType(Type.newBuilder().setCode(TypeCode.STRING).build()) |
| 346 | + .build()) |
| 347 | + .build()) |
| 348 | + .build()) |
| 349 | + .addRows( |
| 350 | + ListValue.newBuilder() |
| 351 | + .addValues(Value.newBuilder().setNullValue(NullValue.NULL_VALUE).build()) |
| 352 | + .build()) |
| 353 | + .build())); |
327 | 354 | } |
328 | 355 |
|
329 | 356 | @AfterAll |
|
0 commit comments