@Override protected RelDataType getLogicalSourceRowType( RelDataType sourceRowType, SqlInsert insert) { return ((JavaTypeFactory) typeFactory).toSql(sourceRowType); }
static Type javaClass( JavaTypeFactory typeFactory, RelDataType type) { final Type clazz = typeFactory.getJavaClass(type); return clazz instanceof Class ? clazz : Object[].class; }
public ReflectiveTable( ReflectiveSchema schema, Type elementType, RelDataType relDataType, Expression expression) { super(schema.getQueryProvider(), elementType, expression); this.schema = schema; this.relDataType = relDataType; }
public RelDataType getRowType(RelDataTypeFactory typeFactory) { return ((JavaTypeFactory) typeFactory).createType(elementType); }
public RelDataType nullifyType(RelDataType type, boolean nullable) { if (!nullable) { final Primitive primitive = javaPrimitive(type); if (primitive != null) { return typeFactory.createJavaType(primitive.primitiveClass); } } return typeFactory.createTypeWithNullability(type, nullable); }
/** Returns a table based on a particular field of this schema. If the * field is not of the right type to be a relation, returns null. */ private <T> Table fieldRelation(final Field field) { final Type elementType = getElementType(field.getType()); if (elementType == null) { return null; } Object o; try { o = field.get(target); } catch (IllegalAccessException e) { throw new RuntimeException( "Error while accessing field " + field, e); } @SuppressWarnings("unchecked") final Enumerable<T> enumerable = toEnumerable(o); return new FieldTable<T>(field, elementType, enumerable); }
public void visit(JsonMapSchema jsonSchema) { final MutableSchema parentSchema = currentMutableSchema("schema"); final MapSchema schema = MapSchema.create(parentSchema, jsonSchema.name); schema.initialize(); populateSchema(jsonSchema, schema); }
private RelDataType zzz(int dataType, int precision, int scale) { SqlTypeName sqlTypeName = SqlTypeName.getNameForJdbcType(dataType); if (precision >= 0 && scale >= 0 && sqlTypeName.allowsPrecScale(true, true)) { return typeFactory.createSqlType(sqlTypeName, precision, scale); } else if (precision >= 0 && sqlTypeName.allowsPrecNoScale()) { return typeFactory.createSqlType(sqlTypeName, precision); } else { assert sqlTypeName.allowsNoPrecNoScale(); return typeFactory.createSqlType(sqlTypeName); } }
/** Called by Optiq after creation, before loading tables explicitly defined * in a JSON model. */ public void initialize() { for (TableInSchema tableInSchema : initialTables()) { tableMap.put(tableInSchema.name, tableInSchema); } }
static Type javaClass( JavaTypeFactory typeFactory, RelDataType type) { final Type clazz = typeFactory.getJavaClass(type); return clazz instanceof Class ? clazz : Object[].class; }
public RelDataType getRowType(RelDataTypeFactory typeFactory) { return ((JavaTypeFactory) typeFactory).createType(elementType); }
public RelDataType nullifyType(RelDataType type, boolean nullable) { if (!nullable) { final Primitive primitive = javaPrimitive(type); if (primitive != null) { return typeFactory.createJavaType(primitive.primitiveClass); } } return typeFactory.createTypeWithNullability(type, nullable); }
@Override protected RelDataType getLogicalTargetRowType( RelDataType targetRowType, SqlInsert insert) { return ((JavaTypeFactory) typeFactory).toSql(targetRowType); } }
Type javaRowClass( JavaTypeFactory typeFactory, RelDataType type) { assert type.getFieldCount() > 1; return typeFactory.getJavaClass(type); }
public RelDataType getRowType(RelDataTypeFactory typeFactory) { return ((JavaTypeFactory) typeFactory).createType(clazz); }
@Override protected RelDataType getLogicalTargetRowType( RelDataType targetRowType, SqlInsert insert) { return ((JavaTypeFactory) typeFactory).toSql(targetRowType); } }
Type javaRowClass( JavaTypeFactory typeFactory, RelDataType type) { assert type.getFieldCount() > 1; return typeFactory.getJavaClass(type); }
public RelDataType getRowType() { return connection.typeFactory.createType(getElementType()); }
@Override protected RelDataType getLogicalSourceRowType( RelDataType sourceRowType, SqlInsert insert) { return ((JavaTypeFactory) typeFactory).toSql(sourceRowType); }
public static Class getJavaType( RelOptCluster cluster, RelDataType dataType ) { return (Class) ( (JavaTypeFactory) cluster.getTypeFactory() ).getJavaClass( dataType ); }