java getscale_Java MajorType.getScale方法代碼示例
import org.apache.drill.common.types.TypeProtos.MajorType; //導入方法依賴的package包/類
public void updateColumnMetaData(String catalogName, String schemaName,
String tableName, BatchSchema schema,
List> getObjectClasses ) {
final List newColumns =
new ArrayList(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;
}
總結
以上是生活随笔為你收集整理的java getscale_Java MajorType.getScale方法代碼示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑屏幕旋转了90度如何调回来
- 下一篇: java美元兑换,(Java实现) 美元