提交 77e895a3 编写于 作者: B Beyyes

add viewtree, modify datanode conf

上级 523f4788
......@@ -30,7 +30,9 @@ import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.impl.B
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.impl.DatabaseDeviceMNode;
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.impl.DatabaseMNode;
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.impl.DeviceMNode;
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.impl.LogicalViewMNode;
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.impl.MeasurementMNode;
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.info.LogicalViewInfo;
import org.apache.iotdb.tsfile.write.schema.IMeasurementSchema;
@MNodeFactory
......@@ -76,6 +78,6 @@ public class MemMNodeFactory implements IMNodeFactory<IMemMNode> {
@Override
public IMeasurementMNode<IMemMNode> createLogicalViewMNode(
IDeviceMNode<IMemMNode> parent, String name, IMeasurementInfo measurementInfo) {
throw new UnsupportedOperationException("View is not supported.");
return new LogicalViewMNode(parent, name, ((LogicalViewInfo) measurementInfo).getExpression());
}
}
package org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.impl;
import org.apache.iotdb.commons.schema.node.common.AbstractMeasurementMNode;
import org.apache.iotdb.commons.schema.node.info.IMeasurementInfo;
import org.apache.iotdb.commons.schema.node.role.IDeviceMNode;
import org.apache.iotdb.commons.schema.node.utils.IMNodeContainer;
import org.apache.iotdb.commons.schema.view.LogicalViewSchema;
import org.apache.iotdb.commons.schema.view.viewExpression.ViewExpression;
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.IMemMNode;
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.basic.BasicMNode;
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.container.MemMNodeContainer;
import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.info.LogicalViewInfo;
public class LogicalViewMNode extends AbstractMeasurementMNode<IMemMNode, BasicMNode>
implements IMemMNode {
public LogicalViewMNode(
IDeviceMNode<IMemMNode> parent, String name, ViewExpression viewExpression) {
super(
new BasicMNode(parent == null ? null : parent.getAsMNode(), name),
new LogicalViewInfo(new LogicalViewSchema(name, viewExpression)));
}
@Override
public IMNodeContainer<IMemMNode> getChildren() {
return MemMNodeContainer.emptyMNodeContainer();
}
@Override
public IMemMNode getAsMNode() {
return this;
}
public void setExpression(ViewExpression expression) {
IMeasurementInfo measurementInfo = this.getMeasurementInfo();
if (measurementInfo instanceof LogicalViewInfo) {
((LogicalViewInfo) measurementInfo).setExpression(expression);
}
}
@Override
public final boolean isLogicalView() {
return true;
}
}
......@@ -21,3 +21,6 @@ timestamp_precision=ms
udf_lib_dir=target/datanode1/ext/udf
trigger_lib_dir=target/datanode1/ext/trigger
pipe_lib_dir=target/datanode1/ext/pipe
data_region_group_extension_policy=CUSTOM
default_data_region_group_num_per_database=2
enable_data_partition_inherit_policy=false
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册