public SqlSchema(List<String> colNames, List<SqlFieldSchema> colTypes) { if (colNames == null || colNames.size() == 0 || colTypes == null || colTypes.size() == 0 || colNames.size() != colTypes.size()) { throw new IllegalArgumentException(); } fields = IntStream.range(0, colTypes.size()) .mapToObj(i -> new SqlField(i, colNames.get(i), colTypes.get(i))) .collect(Collectors.toList()); }
for (int i = 0; i < rowCount; ++i) { SqlSchema.SqlField field = schema.getFields().get(i); int fieldLen = field.getFieldName().length(); int typeLen = field.getFieldSchema().getFieldType().toString().length(); int fieldRowNeeded = CliUtil.ceilingDiv(fieldLen, j - 2); int typeRowNeeded = CliUtil.ceilingDiv(typeLen, terminalWidth - 1 - j - 2); for (int i = 0; i < rowCount; ++i) { SqlSchema.SqlField sqlField = schema.getFields().get(i); String field = sqlField.getFieldName(); String type = sqlField.getFieldSchema().getFieldType().toString(); int fieldLen = field.length(); int typeLen = type.length();
@Ignore @Test public void testGenerateResultSchema() { ExecutionContext context = getExecutionContext(); Map<String, String> mapConf = fetchSamzaSqlConfig(1, context); SqlSchema ts = m_executor.generateResultSchema(new MapConfig(mapConf)); List<SqlSchema.SqlField> fields = ts.getFields(); Assert.assertEquals("__key__", fields.get(0).getFieldName()); Assert.assertEquals("Name", fields.get(1).getFieldName()); Assert.assertEquals("NewCompany", fields.get(2).getFieldName()); Assert.assertEquals("OldCompany", fields.get(3).getFieldName()); Assert.assertEquals("ProfileChangeTimestamp", fields.get(4).getFieldName()); Assert.assertEquals("ANY", fields.get(0).getFieldSchema().getFieldType().toString()); Assert.assertEquals("VARCHAR", fields.get(1).getFieldSchema().getFieldType().toString()); Assert.assertEquals("VARCHAR", fields.get(2).getFieldSchema().getFieldType().toString()); Assert.assertEquals("VARCHAR", fields.get(3).getFieldSchema().getFieldType().toString()); Assert.assertEquals("BIGINT", fields.get(4).getFieldSchema().getFieldType().toString()); }
@Test public void testGetTableSchema() { ExecutionContext context = getExecutionContext(); SqlSchema ts = m_executor.getTableSchema(context, "kafka.ProfileChangeStream"); List<SqlSchema.SqlField> fields = ts.getFields(); Assert.assertEquals("Name", fields.get(0).getFieldName()); Assert.assertEquals("NewCompany", fields.get(1).getFieldName()); Assert.assertEquals("OldCompany", fields.get(2).getFieldName()); Assert.assertEquals("ProfileChangeTimestamp", fields.get(3).getFieldName()); Assert.assertEquals("STRING", fields.get(0).getFieldSchema().getFieldType().toString()); Assert.assertEquals("STRING", fields.get(1).getFieldSchema().getFieldType().toString()); Assert.assertEquals("STRING", fields.get(2).getFieldSchema().getFieldType().toString()); Assert.assertEquals("INT64", fields.get(3).getFieldSchema().getFieldType().toString()); }
private List<RelDataTypeField> getRelFields(List<SqlSchema.SqlField> fields) { List<RelDataTypeField> relFields = new ArrayList<>(); for (SqlSchema.SqlField field : fields) { String fieldName = field.getFieldName(); int fieldPos = field.getPosition() + 1; RelDataType dataType = getRelDataType(field.getFieldSchema()); relFields.add(new RelDataTypeFieldImpl(fieldName, fieldPos, dataType)); } return relFields; }