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

        measurement_template_name = "template_python"
        template = Template(name=measurement_template_name, share_time=False)
        m_node_1 = MeasurementNode(
            name="s1",
            data_type=TSDataType.INT64,
            encoding=TSEncoding.RLE,
            compression_type=Compressor.SNAPPY,
        )
        m_node_2 = MeasurementNode(
            name="s2",
            data_type=TSDataType.INT64,
            encoding=TSEncoding.RLE,
            compression_type=Compressor.SNAPPY,
        )
        m_node_3 = MeasurementNode(
            name="s3",
            data_type=TSDataType.INT64,
            encoding=TSEncoding.RLE,
            compression_type=Compressor.SNAPPY,
        )
        template.add_template(m_node_1)
        template.add_template(m_node_2)
        template.add_template(m_node_3)
        session.create_schema_template(template)

        assert session.show_measurements_in_template(
            measurement_template_name) == [
                "s3",
                "s1",
                "s2",
            ]
        assert session.count_measurements_in_template(
            measurement_template_name) == 3
        assert (session.is_measurement_in_template(measurement_template_name,
                                                   "s1") is True)
        assert (session.is_path_exist_in_template(measurement_template_name,
                                                  "s1") is True)
        assert (session.is_path_exist_in_template(measurement_template_name,
                                                  "s4") is False)

        session.delete_node_in_template(measurement_template_name, "s1")
        assert session.show_measurements_in_template(
            measurement_template_name) == [
                "s3",
                "s2",
            ]
        assert session.count_measurements_in_template(
            measurement_template_name) == 2
        assert (session.is_path_exist_in_template(measurement_template_name,
                                                  "s1") is False)

        tree_template_name = "treeTemplate_python"
        template = Template(name=tree_template_name, share_time=True)
        i_node_gps = InternalNode(name="GPS", share_time=False)
        i_node_v = InternalNode(name="vehicle", share_time=True)
        m_node_x = MeasurementNode("x", TSDataType.FLOAT, TSEncoding.RLE,
                                   Compressor.SNAPPY)

        i_node_gps.add_child(m_node_x)
        i_node_v.add_child(m_node_x)
        template.add_template(i_node_gps)
        template.add_template(i_node_v)
        template.add_template(m_node_x)
        session.create_schema_template(template)
        assert session.show_measurements_in_template(tree_template_name) == [
            "x",
            "GPS.x",
            "vehicle.x",
        ]
        assert session.count_measurements_in_template(tree_template_name) == 3

        assert session.show_all_templates() == [
            measurement_template_name,
            tree_template_name,
        ]
        assert session.is_measurement_in_template(tree_template_name,
                                                  "GPS") is False
        assert session.is_measurement_in_template(tree_template_name,
                                                  "GPS.x") is True

        session.drop_schema_template(measurement_template_name)
        session.drop_schema_template(tree_template_name)

        session.close()
Example #2
0
    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))
print(session.is_path_exist_in_template(template_name, "aligned.s1"))
print(session.is_path_exist_in_template(template_name, "aligned.s2"))

session.set_schema_template(template_name, "root.python.set")
print(session.show_paths_template_using_on(template_name))
print(session.show_paths_template_set_on(template_name))
session.unset_schema_template(template_name, "root.python.set")

# drop template
session.drop_schema_template("template_python")
session.drop_schema_template(template_name)
print("drop template success, template_python and treeTemplate_python")
# close session connection.
session.close()