All implementations of TsFile V4 in each programming language (Java, CPP, C, Python) should AT LEAST provide the following interfaces.
Each edition can provide its own unique interfaces depending on the specific use cases. For example, TsFile-Java can allow writing Chunks directly, which mainly serves Apache IoTDB and is unnecessary for other editions, and TsFile-Python may want to convert the query result into DataFrames for machine learning.
Nevertheless, the following interfaces are the minimum set each edition should provide.
The tables below show the prototype definition and definitions of each edition. Notice that the implementations of specific editions may add more fields or have different names from those in the table.
We use the Java edition as the prototype, and each edition should be aligned to this prototype. TsDataType, TsEncoding, ColumnCategory, and TsCompression are enums, of which the detail definitions are skipped.