void readCallsObject()

in java/clickhouse-connector/src/integration-test/java/com/epam/deltix/timebase/connector/clickhouse/DeepObjectFieldTests.java [62:96]


    void readCallsObject() throws SQLException {

        CallsSnapshot message = new CallsSnapshot();
        ObjectArrayList<InstrumentMessage> calls = new ObjectArrayList<>();
        CallInfo callInfo = new CallInfo();
        initSystemRequiredFields(callInfo);
        callInfo.CallId = "CallId";
        ObjectArrayList<InstrumentMessage> locations = new ObjectArrayList<>();
        locations.add(new LocationQuantity(new ObjectArrayList<>(new CharSequence[]{"l1", "l11"}), 999, "location1", TestEnum.FIRST));
        locations.add(new LocationQuantity(new ObjectArrayList<>(new CharSequence[]{"l2", "l22"}), 111, "location2", TestEnum.SECOND));
        callInfo.Locations = locations;
        calls.add(callInfo);
        calls.add(callInfo);
        message.Calls = calls;
        initSystemRequiredFields(message);
        DXTickStream stream = loadData(message, CallsSnapshot.class, CallInfo.class, LocationQuantity.class);

        SchemaOptions schemaOptions = Util.getSchemaOptions(stream, ColumnNamingScheme.TYPE_AND_NAME);
        ClickhouseProperties clickhouseProperties = new ClickhouseProperties();
        clickhouseProperties.setDatabase("tbMessages");
        SchemaProcessor schemaProcessor = new SchemaProcessor(schemaOptions, clickhouseClient , clickhouseProperties);
        Map<String, TableDeclaration> stringTableDeclarationMap = schemaProcessor.prepareClickhouseTable();
        MemoryDataInput in = new MemoryDataInput();
        RecordClassDescriptor[] descriptors = schemaOptions.getTbSchema().getContentClasses();
        List<UnboundDecoder> decoders = Arrays.stream(descriptors).map(CodecFactory.COMPILED::createFixedUnboundDecoder).collect(Collectors.toList());

        UnboundTableWriter unboundTableWriter = new UnboundTableWriter(stream.getKey(), ColumnNamingScheme.TYPE_AND_NAME, clickhouseClient,
                stringTableDeclarationMap, schemaProcessor.getColumnDeclarations(), decoders, in/*, 10_000, 5_000*/);

        TickCursor cursor = stream.select(0, new SelectionOptions(true, false));
        cursor.next();

        assertThrows(UnsupportedOperationException.class, () -> unboundTableWriter.send((RawMessage) cursor.getMessage(), cursor));

    }