This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch TYQuery in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit df3b89594693bfba6225ad4346e3b264abc06879 Merge: 2617771 f434983 Author: JackieTien97 <[email protected]> AuthorDate: Tue Mar 16 09:24:16 2021 +0800 fix conflicts .../cluster/log/logtypes/SerializeLogTest.java | 143 --- .../cluster/server/member/DataGroupMemberTest.java | 1126 -------------------- .../iotdb/db/engine/memtable/AbstractMemTable.java | 36 + .../db/engine/querycontext/ReadOnlyMemChunk.java | 75 +- .../db/qp/physical/crud/InsertTabletPlan.java | 24 +- .../iotdb/db/query/reader/chunk/MemPageReader.java | 6 +- .../org/apache/iotdb/db/service/TSServiceImpl.java | 2 +- .../java/org/apache/iotdb/db/utils/MemUtils.java | 14 +- .../iotdb/db/utils/datastructure/TVList.java | 4 + .../iotdb/db/utils/datastructure/VectorTVList.java | 24 +- .../iotdb/db/qp/physical/InsertTabletPlanTest.java | 90 +- .../java/org/apache/iotdb/session/Session.java | 34 +- .../org/apache/iotdb/session/SessionUtils.java | 97 +- .../apache/iotdb/tsfile/write/record/Tablet.java | 158 ++- .../tsfile/write/schema/IMeasurementSchema.java | 2 + .../tsfile/write/schema/MeasurementSchema.java | 5 + .../write/schema/VectorMeasurementSchema.java | 5 + .../write/writer/VectorMeasurementSchemaStub.java | 5 + 18 files changed, 406 insertions(+), 1444 deletions(-) diff --cc server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java index ef7f545,ccab036..ca14b1c --- a/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java @@@ -292,19 -292,43 +292,55 @@@ public abstract class AbstractMemTable measurement, dataType, encoding, chunkCopy, props, curSize, deletionList); } + // TODO BY HAONAN HOU + @Override + public ReadOnlyMemChunk query( + String deviceId, + String measurement, + IMeasurementSchema schema, + long timeLowerBound, + List<TimeRange> deletionList) + throws IOException, QueryProcessException, MetadataException { + return null; + } + @Override + public ReadOnlyMemChunk query( + String deviceId, + String measurement, + IMeasurementSchema schema, + long timeLowerBound, + List<TimeRange> deletionList) + throws IOException, QueryProcessException, MetadataException { + if (schema.getType() == TSDataType.VECTOR) { + if (!memTableMap.containsKey(deviceId)) { + return null; + } + IWritableMemChunk memChunk = memTableMap.get(deviceId).get(schema.getMeasurementId()); + // get sorted tv list is synchronized so different query can get right sorted list reference + TVList chunkCopy = memChunk.getSortedTVListForQuery(); + int curSize = chunkCopy.size(); + return new ReadOnlyMemChunk(schema, chunkCopy, curSize, deletionList); + } else { + if (!checkPath(deviceId, measurement)) { + return null; + } + IWritableMemChunk memChunk = memTableMap.get(deviceId).get(schema.getMeasurementId()); + // get sorted tv list is synchronized so different query can get right sorted list reference + TVList chunkCopy = memChunk.getSortedTVListForQuery(); + int curSize = chunkCopy.size(); + return new ReadOnlyMemChunk( + measurement, + schema.getType(), + schema.getEncodingType(), + chunkCopy, + schema.getProps(), + curSize, + deletionList); + } + } + + @Override public void delete( PartialPath originalPath, PartialPath devicePath, long startTimestamp, long endTimestamp) { Map<String, IWritableMemChunk> deviceMap = memTableMap.get(devicePath.getFullPath());
