static ImmutableList buildPrimaryKeysColumnMetaData()

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;
    }