in src/main/java/software/amazon/documentdb/jdbc/DocumentDbDatabaseMetaDataResultSets.java [1355:1507]
static ImmutableList<JdbcColumnMetaData> buildPrimaryKeysColumnMetaData(
final String schemaName) {
if (primaryKeysColumnMetaData == null) {
// 1. TABLE_CAT String => table catalog (may be null)
// 2. TABLE_SCHEM String => table schema (may be null)
// 3. TABLE_NAME String => table name
// 4. COLUMN_NAME String => column name
// 5. KEY_SEQ short => sequence number within primary key( a value of 1 represents the first column of the primary key, a value of 2 would represent the second column within the primary key).
// 6. PK_NAME String => primary key name (may be null)
int ordinal = 0;
primaryKeysColumnMetaData = ImmutableList.<JdbcColumnMetaData>builder()
.add(new JdbcColumnMetaData(
ordinal++,
false, //autoIncrement,
true, //caseSensitive,
true, //searchable,
false, //currency,
ResultSetMetaData.columnNullable, //nullable,
false, //signed,
64, //displaySize,
"TABLE_CAT", //label,
"TABLE_CAT", //columnName,
schemaName, //schemaName,
0, //precision,
0, //scale,
"", //tableName,
"", //catalogName,
Types.VARCHAR, //type.id,
JdbcType.VARCHAR.name(), //type.name,
true, //readOnly,
false, //writable,
false, //definitelyWritable,
String.class.getName()) //columnClassName
)
.add(new JdbcColumnMetaData(
ordinal++,
false, //autoIncrement,
true, //caseSensitive,
true, //searchable,
false, //currency,
ResultSetMetaData.columnNullable, //nullable,
false, //signed,
64, //displaySize,
"TABLE_SCHEM", //label,
"TABLE_SCHEM", //columnName,
schemaName, //schemaName,
0, //precision,
0, //scale,
"", //tableName,
"", //catalogName,
Types.VARCHAR, //type.id,
JdbcType.VARCHAR.name(), //type.name,
true, //readOnly,
false, //writable,
false, //definitelyWritable,
String.class.getName()) //columnClassName
)
.add(new JdbcColumnMetaData(
ordinal++,
false, //autoIncrement,
true, //caseSensitive,
true, //searchable,
false, //currency,
ResultSetMetaData.columnNoNulls, //nullable,
false, //signed,
120, //displaySize,
"TABLE_NAME", //label,
"TABLE_NAME", //columnName,
schemaName, //schemaName,
0, //precision,
0, //scale,
"", //tableName,
"", //catalogName,
Types.VARCHAR, //type.id,
JdbcType.VARCHAR.name(), //type.name,
true, //readOnly,
false, //writable,
false, //definitelyWritable,
String.class.getName()) //columnClassName
)
.add(new JdbcColumnMetaData(
ordinal++,
false, //autoIncrement,
true, //caseSensitive,
true, //searchable,
false, //currency,
ResultSetMetaData.columnNoNulls, //nullable,
false, //signed,
255, //displaySize,
"COLUMN_NAME", //label,
"COLUMN_NAME", //columnName,
schemaName, //schemaName,
0, //precision,
0, //scale,
"", //tableName,
"", //catalogName,
Types.VARCHAR, //type.id,
JdbcType.VARCHAR.name(), //type.name,
true, //readOnly,
false, //writable,
false, //definitelyWritable,
String.class.getName()) //columnClassName
)
.add(new JdbcColumnMetaData(
ordinal++,
false, //autoIncrement,
false, //caseSensitive,
true, //searchable,
false, //currency,
ResultSetMetaData.columnNoNulls, //nullable,
true, //signed,
12, //displaySize,
"KEY_SEQ", //label,
"KEY_SEQ", //columnName,
schemaName, //schemaName,
0, //precision,
0, //scale,
"", //tableName,
"", //catalogName,
Types.SMALLINT, //type.id,
JdbcType.SMALLINT.name(), //type.name,
true, //readOnly,
false, //writable,
false, //definitelyWritable,
short.class.getName()) //columnClassName
)
.add(new JdbcColumnMetaData(
ordinal, // not incremented
false, //autoIncrement,
false, //caseSensitive,
true, //searchable,
false, //currency,
ResultSetMetaData.columnNullable, //nullable,
false, //signed,
64, //displaySize,
"PK_NAME", //label,
"PK_NAME", //columnName,
schemaName, //schemaName,
0, //precision,
0, //scale,
"", //tableName,
"", //catalogName,
Types.VARCHAR, //type.id,
JdbcType.VARCHAR.name(), //type.name,
true, //readOnly,
false, //writable,
false, //definitelyWritable,
String.class.getName()) //columnClassName
)
.build();
}
return primaryKeysColumnMetaData;
}