Example #1
0
def test_add_measurements_template():
    with IoTDBContainer("iotdb:dev") as db:
        db: IoTDBContainer
        session = Session(db.get_container_host_ip(),
                          db.get_exposed_port(6667))
        session.open(False)

        template_name = "add_template_python"
        template = Template(name=template_name, share_time=False)
        i_node_v = InternalNode(name="GPS", share_time=False)
        i_node_gps_x = MeasurementNode("x", TSDataType.FLOAT, TSEncoding.RLE,
                                       Compressor.SNAPPY)

        i_node_v.add_child(i_node_gps_x)
        template.add_template(i_node_v)
        session.create_schema_template(template)

        # # append schema template
        data_types = [TSDataType.FLOAT, TSDataType.FLOAT, TSDataType.DOUBLE]
        encoding_list = [TSEncoding.RLE, TSEncoding.RLE, TSEncoding.GORILLA]
        compressor_list = [
            Compressor.SNAPPY, Compressor.SNAPPY, Compressor.LZ4
        ]

        measurements_aligned_path = ["aligned.s1", "aligned.s2", "aligned.s3"]
        session.add_measurements_in_template(
            template_name,
            measurements_aligned_path,
            data_types,
            encoding_list,
            compressor_list,
            is_aligned=True,
        )
        # session.drop_schema_template("add_template_python")
        measurements_aligned_path = [
            "unaligned.s1", "unaligned.s2", "unaligned.s3"
        ]
        session.add_measurements_in_template(
            template_name,
            measurements_aligned_path,
            data_types,
            encoding_list,
            compressor_list,
            is_aligned=False,
        )
        measurements_aligned_path = ["s1", "s2", "s3"]
        session.add_measurements_in_template(
            template_name,
            measurements_aligned_path,
            data_types,
            encoding_list,
            compressor_list,
            is_aligned=False,
        )

        assert session.count_measurements_in_template(template_name) == 10
        assert session.is_measurement_in_template(template_name,
                                                  "GPS") is False
        assert session.is_path_exist_in_template(template_name,
                                                 "GPS.x") is True
        assert session.is_path_exist_in_template(template_name, "x") is False

        session.drop_schema_template(template_name)
        session.close()
Example #2
0
print("create template success treeTemplate_python}")

print(session.is_measurement_in_template(template_name, "GPS"))
print(session.is_measurement_in_template(template_name, "GPS.x"))
print(session.show_all_templates())

# # append schema template
data_types = [TSDataType.FLOAT, TSDataType.FLOAT, TSDataType.DOUBLE]
encoding_list = [TSEncoding.RLE, TSEncoding.RLE, TSEncoding.GORILLA]
compressor_list = [Compressor.SNAPPY, Compressor.SNAPPY, Compressor.LZ4]

measurements_aligned_path = ["aligned.s1", "aligned.s2", "aligned.s3"]
session.add_measurements_in_template(
    template_name,
    measurements_aligned_path,
    data_types,
    encoding_list,
    compressor_list,
    is_aligned=True,
)
# session.drop_schema_template("add_template_python")
measurements_aligned_path = ["unaligned.s1", "unaligned.s2", "unaligned.s3"]
session.add_measurements_in_template(
    template_name,
    measurements_aligned_path,
    data_types,
    encoding_list,
    compressor_list,
    is_aligned=False,
)
session.delete_node_in_template(template_name, "aligned.s1")
print(session.count_measurements_in_template(template_name))