Search in sources :

Example 1 with NullType

use of org.teiid.metadata.BaseColumn.NullType in project teiid by teiid.

the class PrestoDBMetadataProcessor method addTable.

private void addTable(String tableName, Connection conn, String catalog, String schema, MetadataFactory metadataFactory) throws SQLException {
    Table table = addTable(metadataFactory, null, null, tableName, null, tableName);
    if (table == null) {
        return;
    }
    // $NON-NLS-1$ //$NON-NLS-2$
    String nis = catalog + "." + schema + "." + tableName;
    table.setNameInSource(nis);
    Statement stmt = conn.createStatement();
    // $NON-NLS-1$
    ResultSet rs = stmt.executeQuery("SHOW COLUMNS FROM " + nis);
    while (rs.next()) {
        String name = rs.getString(1);
        if (this.trimColumnNames) {
            name = name.trim();
        }
        String type = rs.getString(2);
        if (type != null) {
            type = type.trim();
        }
        String runtimeType = getRuntimeType(type);
        NullType nt = Boolean.valueOf(rs.getString(3)) ? NullType.Nullable : NullType.No_Nulls;
        Column column = metadataFactory.addColumn(name, runtimeType, table);
        column.setNameInSource(name);
        column.setUpdatable(true);
        column.setNullType(nt);
    }
    rs.close();
}
Also used : Table(org.teiid.metadata.Table) Column(org.teiid.metadata.Column) Statement(java.sql.Statement) ResultSet(java.sql.ResultSet) NullType(org.teiid.metadata.BaseColumn.NullType)

Aggregations

ResultSet (java.sql.ResultSet)1 Statement (java.sql.Statement)1 NullType (org.teiid.metadata.BaseColumn.NullType)1 Column (org.teiid.metadata.Column)1 Table (org.teiid.metadata.Table)1