本文整理汇总了Java中java.sql.ResultSetMetaData.columnNullable方法的典型用法代码示例。如果您正苦于以下问题:Java ResultSetMetaData.columnNullable方法的具体用法?Java ResultSetMetaData.columnNullable怎么用?Java ResultSetMetaData.columnNullable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.sql.ResultSetMetaData
的用法示例。
在下文中一共展示了ResultSetMetaData.columnNullable方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: validSetNullableValues
import java.sql.ResultSetMetaData; //导入方法依赖的package包/类
@DataProvider(name = "validSetNullableValues")
private Object[][] validSetNullableValues() {
return new Object[][]{
{ResultSetMetaData.columnNoNulls},
{ResultSetMetaData.columnNullable},
{ResultSetMetaData.columnNullableUnknown}
};
}
示例2: updateColumnMetaData
import java.sql.ResultSetMetaData; //导入方法依赖的package包/类
public void updateColumnMetaData(String catalogName, String schemaName,
String tableName, BatchSchema schema,
List<Class<?>> getObjectClasses ) {
final List<ColumnMetaData> newColumns =
new ArrayList<ColumnMetaData>(schema.getFieldCount());
for (int colOffset = 0; colOffset < schema.getFieldCount(); colOffset++) {
final MaterializedField field = schema.getColumn(colOffset);
Class<?> objectClass = getObjectClasses.get( colOffset );
final String columnName = field.getPath().getRootSegment().getPath();
final MajorType rpcDataType = field.getType();
final AvaticaType bundledSqlDataType = getAvaticaType(rpcDataType);
final String columnClassName = objectClass.getName();
final int nullability;
switch ( field.getDataMode() ) {
case OPTIONAL: nullability = ResultSetMetaData.columnNullable; break;
case REQUIRED: nullability = ResultSetMetaData.columnNoNulls; break;
// Should REPEATED still map to columnNoNulls? or to columnNullable?
case REPEATED: nullability = ResultSetMetaData.columnNoNulls; break;
default:
throw new AssertionError( "Unexpected new DataMode value '"
+ field.getDataMode().name() + "'" );
}
final boolean isSigned = Types.isJdbcSignedType( rpcDataType );
// TODO(DRILL-3355): TODO(DRILL-3356): When string lengths, precisions,
// interval kinds, etc., are available from RPC-level data, implement:
// - precision for ResultSetMetadata.getPrecision(...) (like
// getColumns()'s COLUMN_SIZE)
// - scale for getScale(...), and
// - and displaySize for getColumnDisplaySize(...).
final int precision =
rpcDataType.hasPrecision() ? rpcDataType.getPrecision() : 0;
final int scale = rpcDataType.hasScale() ? rpcDataType.getScale() : 0;
final int displaySize = 10;
ColumnMetaData col = new ColumnMetaData(
colOffset, // (zero-based ordinal (for Java arrays/lists).)
false, /* autoIncrement */
false, /* caseSensitive */
true, /* searchable */
false, /* currency */
nullability,
isSigned,
displaySize,
columnName, /* label */
columnName, /* columnName */
schemaName,
precision,
scale,
tableName,
catalogName,
bundledSqlDataType,
true, /* readOnly */
false, /* writable */
false, /* definitelyWritable */
columnClassName
);
newColumns.add(col);
}
columns = newColumns;
}
示例3: setTable
import java.sql.ResultSetMetaData; //导入方法依赖的package包/类
/**
* Configures this class, by reading in the structure of the log-table
* Throws an exception, if an database-error occurs !
*
* @param _table
* Description of Parameter
* @exception Exception
* Description of Exception
*/
public void setTable(String _table) throws Exception {
if (isconfigured) { return; }
if (poolConnectionHandler != null) {
con = poolConnectionHandler.getConnection();
if (!isConnected()) { throw new Exception(
"JDBCLogger::setTable(), Given connection isnt connected to database !"); }
}
//Fill logcols with META-informations of the table-columns
stmt = this.createUpdatableStatement();
rs = stmt.executeQuery("SELECT " + _table + ".* FROM " + _table + " WHERE 1 = 2");
JDBCLogColumn logcol;
ResultSetMetaData rsmd = rs.getMetaData();
num = rsmd.getColumnCount();
logcols = new ArrayList(num);
for (int i = 1; i <= num; i++) {
logcol = new JDBCLogColumn();
logcol.name = rsmd.getColumnName(i).toUpperCase();
logcol.sqlType = rsmd.getColumnType(i);
logcol.type = rsmd.getColumnTypeName(i);
logcol.nullable = (rsmd.isNullable(i) == ResultSetMetaData.columnNullable);
logcol.isWritable = rsmd.isWritable(i);
if (!logcol.isWritable) {
logcol.ignore = true;
}
logcols.add(logcol);
}
table = _table;
rs.close();
stmt.close();
freeConnection();
isconfigured = true;
}
示例4: updateColumnMetaData
import java.sql.ResultSetMetaData; //导入方法依赖的package包/类
public void updateColumnMetaData(String catalogName, String schemaName,
String tableName, BatchSchema schema,
List<Class<?>> getObjectClasses ) {
final List<ColumnMetaData> newColumns =
new ArrayList<>(schema.getFieldCount());
for (int colOffset = 0; colOffset < schema.getFieldCount(); colOffset++) {
final Field field = schema.getColumn(colOffset);
Class<?> objectClass = getObjectClasses.get( colOffset );
final String columnName = field.getName();
final MajorType rpcDataType = getMajorTypeForField(field);
final AvaticaType bundledSqlDataType = getAvaticaType(rpcDataType);
final String columnClassName = objectClass.getName();
final int nullability;
switch ( rpcDataType.getMode() ) {
case OPTIONAL: nullability = ResultSetMetaData.columnNullable; break;
case REQUIRED: nullability = ResultSetMetaData.columnNoNulls; break;
// Should REPEATED still map to columnNoNulls? or to columnNullable?
case REPEATED: nullability = ResultSetMetaData.columnNoNulls; break;
default:
throw new AssertionError( "Unexpected new DataMode value '"
+ rpcDataType.getMode() + "'" );
}
final boolean isSigned = Types.isJdbcSignedType( rpcDataType );
// TODO(DRILL-3355): TODO(DRILL-3356): When string lengths, precisions,
// interval kinds, etc., are available from RPC-level data, implement:
// - precision for ResultSetMetadata.getPrecision(...) (like
// getColumns()'s COLUMN_SIZE)
// - scale for getScale(...), and
// - and displaySize for getColumnDisplaySize(...).
final int precision = Types.getPrecision(rpcDataType);
final int scale = Types.getScale(rpcDataType);
final int displaySize = Types.getJdbcDisplaySize(rpcDataType);
ColumnMetaData col = new ColumnMetaData(
colOffset, // (zero-based ordinal (for Java arrays/lists).)
false, /* autoIncrement */
false, /* caseSensitive */
true, /* searchable */
false, /* currency */
nullability,
isSigned,
displaySize,
columnName, /* label */
columnName, /* columnName */
schemaName,
precision,
scale,
tableName,
catalogName,
bundledSqlDataType,
true, /* readOnly */
false, /* writable */
false, /* definitelyWritable */
columnClassName
);
newColumns.add(col);
}
columns = newColumns;
}