You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2022/08/05 06:13:02 UTC

[iotdb] branch master updated: Relacing `select * from root` with `select * from root.**` in documents (#6900)

This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new ec2b68e9c9 Relacing `select * from root` with `select * from root.**` in documents (#6900)
ec2b68e9c9 is described below

commit ec2b68e9c9bbfd2dca4b143ce9f7703a5c26ac10
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Fri Aug 5 14:12:57 2022 +0800

    Relacing `select * from root` with `select * from root.**` in documents (#6900)
---
 .../iotdb/confignode/manager/load/LoadManager.java | 20 ++++---
 .../load/heartbeat/ConfigNodeHeartbeatCache.java   |  2 +-
 .../UserGuide/Ecosystem Integration/Spark IoTDB.md |  2 +-
 docs/UserGuide/Reference/SQL-Reference.md          |  4 +-
 docs/UserGuide/Write-And-Delete-Data/CSV-Tool.md   | 14 ++---
 docs/zh/Development/VoteRelease.md                 |  4 +-
 .../Administration-Management/Administration.md    | 66 +++++++++++-----------
 .../UserGuide/Ecosystem Integration/Spark IoTDB.md |  2 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  2 +-
 .../Query-Data/Performance-Tracing-Tool.md         | 30 +++++-----
 docs/zh/UserGuide/Query-Data/Tracing-Tool.md       | 30 +++++-----
 docs/zh/UserGuide/Reference/SQL-Reference.md       |  2 +-
 .../zh/UserGuide/Write-And-Delete-Data/CSV-Tool.md | 14 ++---
 13 files changed, 97 insertions(+), 95 deletions(-)

diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
index 3afa5ee6e1..6d5cc98cc1 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
@@ -85,10 +85,12 @@ public class LoadManager {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(LoadManager.class);
 
-  private static final ConfigNodeConfig conf = ConfigNodeDescriptor.getInstance().getConf();
-  private static final long heartbeatInterval = conf.getHeartbeatInterval();
-  public static final TEndPoint currentNode =
-      new TEndPoint(conf.getInternalAddress(), conf.getInternalPort());
+  private static final ConfigNodeConfig CONF = ConfigNodeDescriptor.getInstance().getConf();
+
+  private static final long HEARTBEAT_INTERVAL = CONF.getHeartbeatInterval();
+
+  public static final TEndPoint CURRENT_NODE =
+      new TEndPoint(CONF.getInternalAddress(), CONF.getInternalPort());
 
   private final IManager configManager;
 
@@ -229,7 +231,7 @@ public class LoadManager {
                 heartBeatExecutor,
                 this::heartbeatLoopBody,
                 0,
-                heartbeatInterval,
+                HEARTBEAT_INTERVAL,
                 TimeUnit.MILLISECONDS);
         LOGGER.info("Heartbeat service is started successfully.");
       }
@@ -241,7 +243,7 @@ public class LoadManager {
                 loadBalancingExecutor,
                 this::updateNodeLoadStatistic,
                 0,
-                heartbeatInterval,
+                HEARTBEAT_INTERVAL,
                 TimeUnit.MILLISECONDS);
         LOGGER.info("LoadBalancing service is started successfully.");
       }
@@ -272,7 +274,7 @@ public class LoadManager {
         .forEach(
             nodeCache -> {
               boolean updateResult = nodeCache.updateLoadStatistic();
-              if (conf.getRoutingPolicy().equals(RouteBalancer.greedyPolicy)
+              if (CONF.getRoutingPolicy().equals(RouteBalancer.greedyPolicy)
                   && nodeCache instanceof DataNodeHeartbeatCache) {
                 // We need a broadcast when some DataNode fail down
                 isNeedBroadcast.compareAndSet(false, updateResult);
@@ -284,7 +286,7 @@ public class LoadManager {
         .forEach(
             regionGroupCache -> {
               boolean updateResult = regionGroupCache.updateLoadStatistic();
-              if (conf.getRoutingPolicy().equals(RouteBalancer.leaderPolicy)) {
+              if (CONF.getRoutingPolicy().equals(RouteBalancer.leaderPolicy)) {
                 // We need a broadcast when the leadership changed
                 isNeedBroadcast.compareAndSet(false, updateResult);
               }
@@ -377,7 +379,7 @@ public class LoadManager {
       THeartbeatReq heartbeatReq, List<TConfigNodeLocation> registeredConfigNodes) {
     // Send heartbeat requests
     for (TConfigNodeLocation configNodeLocation : registeredConfigNodes) {
-      if (configNodeLocation.getInternalEndPoint().equals(currentNode)) {
+      if (configNodeLocation.getInternalEndPoint().equals(CURRENT_NODE)) {
         // Skip itself
         nodeCacheMap.putIfAbsent(
             configNodeLocation.getConfigNodeId(), new ConfigNodeHeartbeatCache(configNodeLocation));
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/ConfigNodeHeartbeatCache.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/ConfigNodeHeartbeatCache.java
index 69452278be..1393f75ee4 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/ConfigNodeHeartbeatCache.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/ConfigNodeHeartbeatCache.java
@@ -59,7 +59,7 @@ public class ConfigNodeHeartbeatCache implements INodeCache {
 
   @Override
   public boolean updateLoadStatistic() {
-    if (configNodeLocation.getInternalEndPoint().equals(LoadManager.currentNode)) {
+    if (configNodeLocation.getInternalEndPoint().equals(LoadManager.CURRENT_NODE)) {
       // We don't need to update itself
       return false;
     }
diff --git a/docs/UserGuide/Ecosystem Integration/Spark IoTDB.md b/docs/UserGuide/Ecosystem Integration/Spark IoTDB.md
index 35d6926a0c..f53319b102 100644
--- a/docs/UserGuide/Ecosystem Integration/Spark IoTDB.md	
+++ b/docs/UserGuide/Ecosystem Integration/Spark IoTDB.md	
@@ -126,7 +126,7 @@ You can also use narrow table form which as follows: (You can see part 4 about h
 ```scala
 import org.apache.iotdb.spark.db._
 
-val wide_df = spark.read.format("org.apache.iotdb.spark.db").option("url", "jdbc:iotdb://127.0.0.1:6667/").option("sql", "select * from root where time < 1100 and time > 1000").load
+val wide_df = spark.read.format("org.apache.iotdb.spark.db").option("url", "jdbc:iotdb://127.0.0.1:6667/").option("sql", "select * from root.** where time < 1100 and time > 1000").load
 val narrow_df = Transformer.toNarrowForm(spark, wide_df)
 ```
 
diff --git a/docs/UserGuide/Reference/SQL-Reference.md b/docs/UserGuide/Reference/SQL-Reference.md
index 77f8d5e477..1b6a5c2313 100644
--- a/docs/UserGuide/Reference/SQL-Reference.md
+++ b/docs/UserGuide/Reference/SQL-Reference.md
@@ -407,7 +407,7 @@ SensorExpr : (<Timeseries> | <Path>) PrecedenceEqualOperator <PointValue>
 Eg: IoTDB > SELECT status, temperature FROM root.ln.wf01.wt01 WHERE temperature < 24 and time > 2017-11-1 0:13:00
 Eg. IoTDB > SELECT ** FROM root
 Eg. IoTDB > SELECT * FROM root.**
-Eg. IoTDB > SELECT * FROM root where time > now() - 5m
+Eg. IoTDB > SELECT * FROM root.** where time > now() - 5m
 Eg. IoTDB > SELECT * FROM root.ln.*.wf*
 Eg. IoTDB > SELECT COUNT(temperature) FROM root.ln.wf01.wt01 WHERE root.ln.wf01.wt01.temperature < 25
 Eg. IoTDB > SELECT MIN_TIME(temperature) FROM root.ln.wf01.wt01 WHERE root.ln.wf01.wt01.temperature < 25
@@ -1067,7 +1067,7 @@ The NOW function returns the current timestamp. This function can be used in the
 NOW()
 Eg. INSERT INTO root.ln.wf01.wt01(timestamp,status) VALUES(NOW(), false)
 Eg. DELETE FROM root.ln.wf01.wt01.status, root.ln.wf01.wt01.temperature WHERE time < NOW()
-Eg. SELECT * FROM root WHERE time < NOW()
+Eg. SELECT * FROM root.** WHERE time < NOW()
 Eg. SELECT COUNT(temperature) FROM root.ln.wf01.wt01 WHERE time < NOW()
 ```
 * SUM
diff --git a/docs/UserGuide/Write-And-Delete-Data/CSV-Tool.md b/docs/UserGuide/Write-And-Delete-Data/CSV-Tool.md
index d774ca39ea..c225dbd9cf 100644
--- a/docs/UserGuide/Write-And-Delete-Data/CSV-Tool.md
+++ b/docs/UserGuide/Write-And-Delete-Data/CSV-Tool.md
@@ -42,7 +42,7 @@ Description:
   - false: only print the timeseries name in the head line of the CSV file. i.e., `Time, root.sg1.d1.s1 , root.sg1.d1.s2`
 * `-q <query command>`:
   - specifying a query command that you want to execute
-  - example: `select * from root limit 100`, or `select * from root limit 100 align by device`
+  - example: `select * from root.** limit 100`, or `select * from root.** limit 100 align by device`
 * `-s <sql file>`:
   - specifying a SQL file which can consist of more than one sql. If there are multiple SQLs in one SQL file, the SQLs should be separated by line breaks. And, for each SQL, a output CSV file will be generated.
 * `-td <directory>`:
@@ -61,7 +61,7 @@ More, if you don't use one of `-s` and `-q`, you need to enter some queries afte
 # Or
 > tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -tf yyyy-MM-dd\ HH:mm:ss
 # or
-> tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -q "select * from root"
+> tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -q "select * from root.**"
 # Or
 > tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s sql.txt
 # Or
@@ -72,7 +72,7 @@ More, if you don't use one of `-s` and `-q`, you need to enter some queries afte
 # Or
 > tools/export-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -tf yyyy-MM-dd\ HH:mm:ss
 # or
-> tools/export-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -q "select * from root"
+> tools/export-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -q "select * from root.**"
 # Or
 > tools/export-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s sql.txt
 # Or
@@ -82,11 +82,11 @@ More, if you don't use one of `-s` and `-q`, you need to enter some queries afte
 ### Sample SQL file
 
 ```sql
-select * from root;
-select * from root align by device;
+select * from root.**;
+select * from root.** align by device;
 ```
 
-The result of `select * from root`
+The result of `select * from root.**`
 
 ```sql
 Time,root.ln.wf04.wt04.status(BOOLEAN),root.ln.wf03.wt03.hardware(TEXT),root.ln.wf02.wt02.status(BOOLEAN),root.ln.wf02.wt02.hardware(TEXT),root.ln.wf01.wt01.hardware(TEXT),root.ln.wf01.wt01.status(BOOLEAN)
@@ -94,7 +94,7 @@ Time,root.ln.wf04.wt04.status(BOOLEAN),root.ln.wf03.wt03.hardware(TEXT),root.ln.
 1970-01-01T08:00:00.002+08:00,true,"v1",,,,true
 ```
 
-The result of `select * from root align by device`
+The result of `select * from root.** align by device`
 
 ```sql
 Time,Device,hardware(TEXT),status(BOOLEAN)
diff --git a/docs/zh/Development/VoteRelease.md b/docs/zh/Development/VoteRelease.md
index 37f6603a31..b7e360f80b 100644
--- a/docs/zh/Development/VoteRelease.md
+++ b/docs/zh/Development/VoteRelease.md
@@ -135,7 +135,7 @@ CREATE TIMESERIES root.turbine.d1.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA;
 insert into root.turbine.d1(timestamp,s0) values(1,1);
 insert into root.turbine.d1(timestamp,s0) values(2,2);
 insert into root.turbine.d1(timestamp,s0) values(3,3);
-select * from root;
+select * from root.**;
 
 打印如下内容:
 +-----------------------------------+------------------+
@@ -173,7 +173,7 @@ CREATE TIMESERIES root.turbine.d1.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA;
 insert into root.turbine.d1(timestamp,s0) values(1,1);
 insert into root.turbine.d1(timestamp,s0) values(2,2);
 insert into root.turbine.d1(timestamp,s0) values(3,3);
-select * from root;
+select * from root.**;
 
 Thanks,
 xxx
diff --git a/docs/zh/UserGuide/Administration-Management/Administration.md b/docs/zh/UserGuide/Administration-Management/Administration.md
index 92f9cc5be6..98658f23a4 100644
--- a/docs/zh/UserGuide/Administration-Management/Administration.md
+++ b/docs/zh/UserGuide/Administration-Management/Administration.md
@@ -360,39 +360,39 @@ Eg: IoTDB > ALTER USER `tempuser` SET PASSWORD 'newpwd';
 
 **系统所含权限列表**
 
-|权限名称|说明|示例|
-|:---|:---|----|
-|SET\_STORAGE\_GROUP|创建存储组。包含设置存储组的权限。路径相关|Eg: `set storage group to root.ln;`|
-|DELETE\_STORAGE\_GROUP|删除存储组。路径相关|Eg: `delete storage group root.ln;`|
-|CREATE\_TIMESERIES|创建时间序列。路径相关|Eg1: 创建时间序列<br />`create timeseries root.ln.wf02.status with datatype=BOOLEAN,encoding=PLAIN;`<br />Eg2: 创建对齐时间序列<br />`create aligned timeseries root.ln.device1(latitude FLOAT encoding=PLAIN compressor=SNAPPY, longitude FLOAT encoding=PLAIN compressor=SNAPPY);`|
-|INSERT\_TIMESERIES|插入数据。路径相关|Eg1: `insert into root.ln.wf02(timestamp,status) values(1,true);`<br />Eg2: `insert into root.sg1.d1(time, s1, s2) aligned values(1, 1, 1)`|
-|READ\_TIMESERIES|查询数据。路径相关|Eg1: `show storage group;` <br />Eg2: `show child paths root.ln, show child nodes root.ln;`<br />Eg3: `show devices;`<br />Eg4: `show timeseries root.**;`<br />Eg5: `show schema templates;`<br />Eg6: `show all ttl`<br />Eg7: [数据查询](../Query-Data/Overview.md)(这一节之下的查询语句均使用该权限)<br />Eg8: CVS格式数据导出<br />`./export-csv.bat -h 127.0.0.1 -p 6667 -u tempuser -pw root -td ./`<br />Eg9: 查询性能追踪<br />`tracing select * from root`<br />Eg10: UDF查询<br />`select example(*) fr [...]
-|DELETE\_TIMESERIES|删除数据或时间序列。路径相关|Eg1: 删除时间序列<br />`delete timeseries root.ln.wf01.wt01.status`<br />Eg2: 删除数据<br />`delete from root.ln.wf02.wt02.status where time < 10`|
-|CREATE\_USER|创建用户。路径无关|Eg: `create user thulab 'passwd';`|
-|DELETE\_USER|删除用户。路径无关|Eg: `drop user xiaoming;`|
-|MODIFY\_PASSWORD|修改所有用户的密码。路径无关。(没有该权限者仍然能够修改自己的密码。)|Eg: `alter user tempuser SET PASSWORD 'newpwd';`|
-|LIST\_USER|列出所有用户,列出某用户权限,列出某用户具有的角色以及列出所有用户的角色四种操作的权限。路径无关|Eg1: `list user;`<br />Eg2: `list privileges user 'admin' on root.sgcc.**;`<br />Eg3: `list user privileges admin;`<br />Eg4: `list all user of role 'admin';`|
-|GRANT\_USER\_PRIVILEGE|赋予用户权限。路径无关|Eg:  `grant user tempuser privileges DELETE_TIMESERIES on root.ln.**;`|
-|REVOKE\_USER\_PRIVILEGE|撤销用户权限。路径无关|Eg:  `revoke user tempuser privileges DELETE_TIMESERIES on root.ln.**;`|
-|GRANT\_USER\_ROLE|赋予用户角色。路径无关|Eg:  `grant temprole to tempuser;`|
-|REVOKE\_USER\_ROLE|撤销用户角色。路径无关|Eg:  `revoke temprole from tempuser;`|
-|CREATE\_ROLE|创建角色。路径无关|Eg:  `create role admin;`|
-|DELETE\_ROLE|删除角色。路径无关|Eg: `drop role admin;`|
-|LIST\_ROLE|列出所有角色,列出某角色拥有的权限,列出拥有某角色的所有用户三种操作的权限。路径无关|Eg1: `list role`<br />Eg2: `list role privileges actor;`<br />Eg3: `list privileges role wirte_role ON root.sgcc;`<br />Eg4: `list all role of user admin;`|
-|GRANT\_ROLE\_PRIVILEGE|赋予角色权限。路径无关|Eg: `grant role temprole privileges DELETE_TIMESERIES ON root.ln.**;`|
-|REVOKE\_ROLE\_PRIVILEGE|撤销角色权限。路径无关|Eg: `revoke role temprole privileges DELETE_TIMESERIES ON root.ln.**;`|
-|CREATE_FUNCTION|注册 UDF。路径无关|Eg: `create function example AS 'org.apache.iotdb.udf.UDTFExample';`|
-|DROP_FUNCTION|卸载 UDF。路径无关|Eg: `drop function example`|
-|CREATE_TRIGGER|创建触发器。路径相关|Eg1: `CREATE TRIGGER <TRIGGER-NAME> BEFORE INSERT ON <FULL-PATH> AS <CLASSNAME>`<br />Eg2: `CREATE TRIGGER <TRIGGER-NAME> AFTER INSERT ON <FULL-PATH> AS <CLASSNAME>`|
-|DROP_TRIGGER|卸载触发器。路径相关|Eg: `drop trigger 'alert-listener-sg1d1s1'`|
-|START_TRIGGER|启动触发器。路径相关|Eg: `start trigger lert-listener-sg1d1s1'`|
-|STOP_TRIGGER|停止触发器。路径相关|Eg: `stop trigger 'alert-listener-sg1d1s1'`|
-|CREATE_CONTINUOUS_QUERY|创建连续查询。路径无关|Eg: `select s1, s1 into t1, t2 from root.sg.d1`|
-|DROP_CONTINUOUS_QUERY|卸载连续查询。路径无关|Eg1: `DROP CONTINUOUS QUERY cq3`<br />Eg2: `DROP CQ cq3`|
-|UPDATE_TEMPLATE|创建、删除、修改模板。路径无关。|Eg1: `create schema template t1(s1 int32)`
-|READ_TEMPLATE|查看所有模板、模板内容。 路径无关|Eg1: `show schema templates`<br/>Eg2: `show nodes in template t1`
-|APPLY_TEMPLATE|挂载、卸载、激活模板。路径有关。|Eg1: `set schema template t1 to root.sg.d`<br/>Eg2: `create timeseries of schema template on root.sg.d`
-|READ_TEMPLATE_APPLICATION|查看模板的挂载路径和激活路径。路径无关|Eg1: `show paths set schema template t1`<br/>Eg2: `show paths using schema template t1`
+|权限名称|说明| 示例                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 [...]
+|:---|:---|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
+|SET\_STORAGE\_GROUP|创建存储组。包含设置存储组的权限。路径相关| Eg: `set storage group to root.ln;`                                                                                                                                                                                                                                                                                                                                                                                                                              [...]
+|DELETE\_STORAGE\_GROUP|删除存储组。路径相关| Eg: `delete storage group root.ln;`                                                                                                                                                                                                                                                                                                                                                                                                                                      [...]
+|CREATE\_TIMESERIES|创建时间序列。路径相关| Eg1: 创建时间序列<br />`create timeseries root.ln.wf02.status with datatype=BOOLEAN,encoding=PLAIN;`<br />Eg2: 创建对齐时间序列<br />`create aligned timeseries root.ln.device1(latitude FLOAT encoding=PLAIN compressor=SNAPPY, longitude FLOAT encoding=PLAIN compressor=SNAPPY);`                                                                                                                                                                                                      [...]
+|INSERT\_TIMESERIES|插入数据。路径相关| Eg1: `insert into root.ln.wf02(timestamp,status) values(1,true);`<br />Eg2: `insert into root.sg1.d1(time, s1, s2) aligned values(1, 1, 1)`                                                                                                                                                                                                                                                                                                                                   [...]
+|READ\_TIMESERIES|查询数据。路径相关| Eg1: `show storage group;` <br />Eg2: `show child paths root.ln, show child nodes root.ln;`<br />Eg3: `show devices;`<br />Eg4: `show timeseries root.**;`<br />Eg5: `show schema templates;`<br />Eg6: `show all ttl`<br />Eg7: [数据查询](../Query-Data/Overview.md)(这一节之下的查询语句均使用该权限)<br />Eg8: CVS格式数据导出<br />`./export-csv.bat -h 127.0.0.1 -p 6667 -u tempuser -pw root -td ./`<br />Eg9: 查询性能追踪<br />`tracing select * from root.**`<br />Eg10: UDF查询<br />`select example(* [...]
+|DELETE\_TIMESERIES|删除数据或时间序列。路径相关| Eg1: 删除时间序列<br />`delete timeseries root.ln.wf01.wt01.status`<br />Eg2: 删除数据<br />`delete from root.ln.wf02.wt02.status where time < 10`                                                                                                                                                                                                                                                                                                                                 [...]
+|CREATE\_USER|创建用户。路径无关| Eg: `create user thulab 'passwd';`                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
+|DELETE\_USER|删除用户。路径无关| Eg: `drop user xiaoming;`                                                                                                                                                                                                                                                                                                                                                                                                                                                           [...]
+|MODIFY\_PASSWORD|修改所有用户的密码。路径无关。(没有该权限者仍然能够修改自己的密码。)| Eg: `alter user tempuser SET PASSWORD 'newpwd';`                                                                                                                                                                                                                                                                                                                                                                                                      [...]
+|LIST\_USER|列出所有用户,列出某用户权限,列出某用户具有的角色以及列出所有用户的角色四种操作的权限。路径无关| Eg1: `list user;`<br />Eg2: `list privileges user 'admin' on root.sgcc.**;`<br />Eg3: `list user privileges admin;`<br />Eg4: `list all user of role 'admin';`                                                                                                                                                                                                                                                                                 [...]
+|GRANT\_USER\_PRIVILEGE|赋予用户权限。路径无关| Eg:  `grant user tempuser privileges DELETE_TIMESERIES on root.ln.**;`                                                                                                                                                                                                                                                                                                                                                                                                  [...]
+|REVOKE\_USER\_PRIVILEGE|撤销用户权限。路径无关| Eg:  `revoke user tempuser privileges DELETE_TIMESERIES on root.ln.**;`                                                                                                                                                                                                                                                                                                                                                                                                [...]
+|GRANT\_USER\_ROLE|赋予用户角色。路径无关| Eg:  `grant temprole to tempuser;`                                                                                                                                                                                                                                                                                                                                                                                                                                           [...]
+|REVOKE\_USER\_ROLE|撤销用户角色。路径无关| Eg:  `revoke temprole from tempuser;`                                                                                                                                                                                                                                                                                                                                                                                                                                       [...]
+|CREATE\_ROLE|创建角色。路径无关| Eg:  `create role admin;`                                                                                                                                                                                                                                                                                                                                                                                                                                                           [...]
+|DELETE\_ROLE|删除角色。路径无关| Eg: `drop role admin;`                                                                                                                                                                                                                                                                                                                                                                                                                                                              [...]
+|LIST\_ROLE|列出所有角色,列出某角色拥有的权限,列出拥有某角色的所有用户三种操作的权限。路径无关| Eg1: `list role`<br />Eg2: `list role privileges actor;`<br />Eg3: `list privileges role wirte_role ON root.sgcc;`<br />Eg4: `list all role of user admin;`                                                                                                                                                                                                                                                                                          [...]
+|GRANT\_ROLE\_PRIVILEGE|赋予角色权限。路径无关| Eg: `grant role temprole privileges DELETE_TIMESERIES ON root.ln.**;`                                                                                                                                                                                                                                                                                                                                                                                                   [...]
+|REVOKE\_ROLE\_PRIVILEGE|撤销角色权限。路径无关| Eg: `revoke role temprole privileges DELETE_TIMESERIES ON root.ln.**;`                                                                                                                                                                                                                                                                                                                                                                                                 [...]
+|CREATE_FUNCTION|注册 UDF。路径无关| Eg: `create function example AS 'org.apache.iotdb.udf.UDTFExample';`                                                                                                                                                                                                                                                                                                                                                                                                           [...]
+|DROP_FUNCTION|卸载 UDF。路径无关| Eg: `drop function example`                                                                                                                                                                                                                                                                                                                                                                                                                                                      [...]
+|CREATE_TRIGGER|创建触发器。路径相关| Eg1: `CREATE TRIGGER <TRIGGER-NAME> BEFORE INSERT ON <FULL-PATH> AS <CLASSNAME>`<br />Eg2: `CREATE TRIGGER <TRIGGER-NAME> AFTER INSERT ON <FULL-PATH> AS <CLASSNAME>`                                                                                                                                                                                                                                                                                                            [...]
+|DROP_TRIGGER|卸载触发器。路径相关| Eg: `drop trigger 'alert-listener-sg1d1s1'`                                                                                                                                                                                                                                                                                                                                                                                                                                        [...]
+|START_TRIGGER|启动触发器。路径相关| Eg: `start trigger lert-listener-sg1d1s1'`                                                                                                                                                                                                                                                                                                                                                                                                                                        [...]
+|STOP_TRIGGER|停止触发器。路径相关| Eg: `stop trigger 'alert-listener-sg1d1s1'`                                                                                                                                                                                                                                                                                                                                                                                                                                        [...]
+|CREATE_CONTINUOUS_QUERY|创建连续查询。路径无关| Eg: `select s1, s1 into t1, t2 from root.sg.d1`                                                                                                                                                                                                                                                                                                                                                                                                                        [...]
+|DROP_CONTINUOUS_QUERY|卸载连续查询。路径无关| Eg1: `DROP CONTINUOUS QUERY cq3`<br />Eg2: `DROP CQ cq3`                                                                                                                                                                                                                                                                                                                                                                                                                 [...]
+|UPDATE_TEMPLATE|创建、删除、修改模板。路径无关。| Eg1: `create schema template t1(s1 int32)`                                                                                                                                                                                                                                                                                                                                                                                                                                [...]
+|READ_TEMPLATE|查看所有模板、模板内容。 路径无关| Eg1: `show schema templates`<br/>Eg2: `show nodes in template t1`                                                                                                                                                                                                                                                                                                                                                                                                          [...]
+|APPLY_TEMPLATE|挂载、卸载、激活模板。路径有关。| Eg1: `set schema template t1 to root.sg.d`<br/>Eg2: `create timeseries of schema template on root.sg.d`                                                                                                                                                                                                                                                                                                                                                                    [...]
+|READ_TEMPLATE_APPLICATION|查看模板的挂载路径和激活路径。路径无关| Eg1: `show paths set schema template t1`<br/>Eg2: `show paths using schema template t1`                                                                                                                                                                                                                                                                                                                                                                      [...]
 
 注意: 下述sql语句需要赋予多个权限才可以使用:
 
diff --git a/docs/zh/UserGuide/Ecosystem Integration/Spark IoTDB.md b/docs/zh/UserGuide/Ecosystem Integration/Spark IoTDB.md
index bb175ec94f..86ccc811fd 100644
--- a/docs/zh/UserGuide/Ecosystem Integration/Spark IoTDB.md	
+++ b/docs/zh/UserGuide/Ecosystem Integration/Spark IoTDB.md	
@@ -134,7 +134,7 @@ TsFile中的现有数据如下:
 ```scala
 import org.apache.iotdb.spark.db._
 
-val wide_df = spark.read.format("org.apache.iotdb.spark.db").option("url", "jdbc:iotdb://127.0.0.1:6667/").option("sql", "select * from root where time < 1100 and time > 1000").load
+val wide_df = spark.read.format("org.apache.iotdb.spark.db").option("url", "jdbc:iotdb://127.0.0.1:6667/").option("sql", "select * from root.** where time < 1100 and time > 1000").load
 val narrow_df = Transformer.toNarrowForm(spark, wide_df)
 ```
 
diff --git a/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md b/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md
index 4a31815b3d..f7885f55a1 100644
--- a/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md
+++ b/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md
@@ -90,7 +90,7 @@ Session 超时默认未开启。可以在配置文件中通过 `session_timeout_
 对于执行时间过长的查询,IoTDB 将强行中断该查询,并抛出超时异常,如下所示:
 
 ```sql
-IoTDB> select * from root;
+IoTDB> select * from root.**;
 Msg: 701 Current query is time out, please check your statement or modify timeout parameter.
 ```
 
diff --git a/docs/zh/UserGuide/Query-Data/Performance-Tracing-Tool.md b/docs/zh/UserGuide/Query-Data/Performance-Tracing-Tool.md
index ad3a069127..7f5ea3e9b5 100644
--- a/docs/zh/UserGuide/Query-Data/Performance-Tracing-Tool.md
+++ b/docs/zh/UserGuide/Query-Data/Performance-Tracing-Tool.md
@@ -30,22 +30,22 @@ IoTDB 支持使用 `TRACING` 关键词对查询语句进行性能追踪。用户
 
 **示例:**
 
-例如执行 `tracing select * from root`,输出结果如下:
+例如执行 `tracing select * from root.**`,输出结果如下:
 
 ```
 Tracing Activties:
-+------------------------------------------------------+------------+
-|                                              Activity|Elapsed Time|
-+------------------------------------------------------+------------+
-|Start to execute statement: tracing select * from root|           0|
-|                            Parse SQL to physical plan|           4|
-|                              Create and cache dataset|          16|
-|                              * Num of series paths: 3|            |
-|                       * Num of sequence files read: 2|            |
-|                     * Num of unsequence files read: 1|            |
-|        * Num of sequence chunks: 6, avg points: 100.0|            |
-|      * Num of unsequence chunks: 3, avg points: 100.0|            |
-|         * Num of Pages: 9, overlapped pages: 0 (0.0%)|            |
-|                                      Request complete|          20|
-+------------------------------------------------------+------------+
++---------------------------------------------------------+------------+
+|                                                 Activity|Elapsed Time|
++---------------------------------------------------------+------------+
+|Start to execute statement: tracing select * from root.**|           0|
+|                               Parse SQL to physical plan|           4|
+|                                 Create and cache dataset|          16|
+|                                 * Num of series paths: 3|            |
+|                          * Num of sequence files read: 2|            |
+|                        * Num of unsequence files read: 1|            |
+|           * Num of sequence chunks: 6, avg points: 100.0|            |
+|         * Num of unsequence chunks: 3, avg points: 100.0|            |
+|            * Num of Pages: 9, overlapped pages: 0 (0.0%)|            |
+|                                         Request complete|          20|
++---------------------------------------------------------+------------+
 ```
\ No newline at end of file
diff --git a/docs/zh/UserGuide/Query-Data/Tracing-Tool.md b/docs/zh/UserGuide/Query-Data/Tracing-Tool.md
index 33cc54a2b6..6ec4641639 100644
--- a/docs/zh/UserGuide/Query-Data/Tracing-Tool.md
+++ b/docs/zh/UserGuide/Query-Data/Tracing-Tool.md
@@ -27,22 +27,22 @@ IoTDB 支持使用 `TRACING` 关键词对查询语句进行性能追踪。用户
 1. 查询执行过程中各个阶段的累积耗时。
 2. 与查询性能分析相关的统计信息,包括查询的时间序列数、涉及访问的 Tsfile 文件数、需要扫描的 chunk 总数以及平均每个 chunk 包含的数据点个数、读取的 Page 总数以及其中乱序 Page 的个数。
 
-例如执行 `tracing select * from root`,输出结果如下:
+例如执行 `tracing select * from root.**`,输出结果如下:
 
 ```
 Tracing Activties:
-+------------------------------------------------------+------------+
-|                                              Activity|Elapsed Time|
-+------------------------------------------------------+------------+
-|Start to execute statement: tracing select * from root|           0|
-|                            Parse SQL to physical plan|           4|
-|                              Create and cache dataset|          16|
-|                              * Num of series paths: 3|            |
-|                       * Num of sequence files read: 2|            |
-|                     * Num of unsequence files read: 1|            |
-|        * Num of sequence chunks: 6, avg points: 100.0|            |
-|      * Num of unsequence chunks: 3, avg points: 100.0|            |
-|         * Num of Pages: 9, overlapped pages: 0 (0.0%)|            |
-|                                      Request complete|          20|
-+------------------------------------------------------+------------+
++---------------------------------------------------------+------------+
+|                                                 Activity|Elapsed Time|
++---------------------------------------------------------+------------+
+|Start to execute statement: tracing select * from root.**|           0|
+|                               Parse SQL to physical plan|           4|
+|                                 Create and cache dataset|          16|
+|                                 * Num of series paths: 3|            |
+|                          * Num of sequence files read: 2|            |
+|                        * Num of unsequence files read: 1|            |
+|           * Num of sequence chunks: 6, avg points: 100.0|            |
+|         * Num of unsequence chunks: 3, avg points: 100.0|            |
+|            * Num of Pages: 9, overlapped pages: 0 (0.0%)|            |
+|                                         Request complete|          20|
++---------------------------------------------------------+------------+
 ```
\ No newline at end of file
diff --git a/docs/zh/UserGuide/Reference/SQL-Reference.md b/docs/zh/UserGuide/Reference/SQL-Reference.md
index c8637fe6a8..efb62a7f80 100644
--- a/docs/zh/UserGuide/Reference/SQL-Reference.md
+++ b/docs/zh/UserGuide/Reference/SQL-Reference.md
@@ -1038,7 +1038,7 @@ Note: the statement needs to satisfy this constraint: <PrefixPath> + <Path> = <T
 NOW()
 Eg. INSERT INTO root.ln.wf01.wt01(timestamp,status) VALUES(NOW(), false) 
 Eg. DELETE FROM root.ln.wf01.wt01.status, root.ln.wf01.wt01.temperature WHERE time < NOW()
-Eg. SELECT * FROM root WHERE time < NOW()
+Eg. SELECT * FROM root.** WHERE time < NOW()
 Eg. SELECT COUNT(temperature) FROM root.ln.wf01.wt01 WHERE time < NOW()
 ```
 
diff --git a/docs/zh/UserGuide/Write-And-Delete-Data/CSV-Tool.md b/docs/zh/UserGuide/Write-And-Delete-Data/CSV-Tool.md
index 80244bae44..50b22c4678 100644
--- a/docs/zh/UserGuide/Write-And-Delete-Data/CSV-Tool.md
+++ b/docs/zh/UserGuide/Write-And-Delete-Data/CSV-Tool.md
@@ -42,7 +42,7 @@ CSV 工具可帮您将 CSV 格式的数据导入到 IoTDB 或者将数据从 IoT
   - false: 只在CSV的header中打印出时间序列的名字, `Time, root.sg1.d1.s1 , root.sg1.d1.s2`
 * `-q <query command>`:
   - 在命令中直接指定想要执行的查询语句。
-  - 例如: `select * from root limit 100`, or `select * from root limit 100 align by device`
+  - 例如: `select * from root.** limit 100`, or `select * from root.** limit 100 align by device`
 * `-s <sql file>`:
   - 指定一个SQL文件,里面包含一条或多条SQL语句。如果一个SQL文件中包含多条SQL语句,SQL语句之间应该用换行符进行分割。每一条SQL语句对应一个输出的CSV文件。
 * `-td <directory>`:
@@ -61,7 +61,7 @@ CSV 工具可帮您将 CSV 格式的数据导入到 IoTDB 或者将数据从 IoT
 # Or
 > tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -tf yyyy-MM-dd\ HH:mm:ss
 # or
-> tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -q "select * from root"
+> tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -q "select * from root.**"
 # Or
 > tools/export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s sql.txt
 # Or
@@ -72,7 +72,7 @@ CSV 工具可帮您将 CSV 格式的数据导入到 IoTDB 或者将数据从 IoT
 # Or
 > tools/export-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -tf yyyy-MM-dd\ HH:mm:ss
 # or
-> tools/export-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -q "select * from root"
+> tools/export-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -q "select * from root.**"
 # Or
 > tools/export-csv.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s sql.txt
 # Or
@@ -82,11 +82,11 @@ CSV 工具可帮您将 CSV 格式的数据导入到 IoTDB 或者将数据从 IoT
 ### SQL 文件示例
 
 ```sql
-select * from root;
-select * from root align by device;
+select * from root.**;
+select * from root.** align by device;
 ```
 
-`select * from root`的执行结果:
+`select * from root.**`的执行结果:
 
 ```sql
 Time,root.ln.wf04.wt04.status(BOOLEAN),root.ln.wf03.wt03.hardware(TEXT),root.ln.wf02.wt02.status(BOOLEAN),root.ln.wf02.wt02.hardware(TEXT),root.ln.wf01.wt01.hardware(TEXT),root.ln.wf01.wt01.status(BOOLEAN)
@@ -94,7 +94,7 @@ Time,root.ln.wf04.wt04.status(BOOLEAN),root.ln.wf03.wt03.hardware(TEXT),root.ln.
 1970-01-01T08:00:00.002+08:00,true,"v1",,,,true
 ```
 
-`select * from root align by device`的执行结果:
+`select * from root.** align by device`的执行结果:
 
 ```sql
 Time,Device,hardware(TEXT),status(BOOLEAN)