public TimescaleSchema getTimebaseSchemaDefinition()

in timescaledb-connector/src/main/java/com/epam/deltix/timebase/connector/service/timescale/TimescaleSchemaDefinition.java [45:79]


    public TimescaleSchema getTimebaseSchemaDefinition(ClassDescriptor[] descriptors, String streamName) {
        TimescaleSchema schema = new TimescaleSchema();
        schema.setName(streamName);

        List<RecordClassDescriptor> baseClassDescriptors = RecordClassDescriptorUtils.getBaseClassDescriptors(descriptors);
        schema.setColumns(descriptorService.getColumns(baseClassDescriptors));
        schema.setPolymorphic(baseClassDescriptors.size() > 1 ? Boolean.TRUE : Boolean.FALSE);

        //add Id, EventTime, symbol, instrumentType
        TimescaleColumn id = TimescaleColumn.builder()
                .dataType(TimescaleColumn.TimescaleDataType.SERIAL)
                .relatedDescriptors(Collections.emptyList())
                .name("Id")
                .build();
        schema.getColumns().add(id);

        TimescaleColumn eventTime = TimescaleColumn.builder()
                .dataType(TimescaleColumn.TimescaleDataType.DATETIME)
                .relatedDescriptors(Collections.emptyList())
                .name("EventTime")
                .build();
        schema.getColumns().add(eventTime);

        TimescaleColumn symbol = TimescaleColumn.builder()
                .dataType(TimescaleColumn.TimescaleDataType.VARCHAR)
                .relatedDescriptors(Collections.emptyList())
                .name("Symbol")
                .build();
        schema.getColumns().add(symbol);
        //end

        schema.setPrimaryKey(new TimescaleColumn[]{id, eventTime});

        return schema;
    }