private RelDataType convertRecordType(SqlSchema schema) { List<RelDataTypeField> relFields = getRelFields(schema.getFields()); return new RelRecordType(relFields); }
public SqlSchema build() { return new SqlSchema(fieldNames, fieldSchemas); } }
int minRowNeeded = Integer.MAX_VALUE; int longestLineCharNum = 0; int rowCount = schema.getFields().size(); for (int j = seperatorPos; j < terminalWidth - HEADER_TYPE.length() - 2; ++j) { boolean fieldWrapped = false; int rowNeeded = 0; 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(); final int typeColSize = terminalWidth - seperatorPos - 1 - 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();
SqlSchema generateResultSchema(Config config) { SamzaSqlDslConverter converter = (SamzaSqlDslConverter) new SamzaSqlDslConverterFactory().create(config); RelRoot relRoot = converter.convertDsl("").iterator().next(); List<String> colNames = new ArrayList<>(); List<String> colTypeNames = new ArrayList<>(); for (RelDataTypeField dataTypeField : relRoot.validatedRowType.getFieldList()) { colNames.add(dataTypeField.getName()); colTypeNames.add(dataTypeField.getType().toString()); } // TODO Need to find a way to convert the relational to SQL Schema return new SqlSchema(colNames, Collections.emptyList()); }
@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()); }
@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()); }