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

jackietien pushed a commit to branch IOTDB-6200
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 3ebd7fa2a40f3998d1f2d056d2a272b2f6e2cd12
Author: JackieTien97 <[email protected]>
AuthorDate: Thu Oct 19 15:45:26 2023 +0800

    [IOTDB-6200] Change schema template to device template
---
 .../db/it/IoTDBSyntaxConventionIdentifierIT.java   |  14 +-
 .../db/it/auth/IoTDBTemplatePermissionIT.java      |  32 +--
 .../it/schema/IoTDBClusterMeasurementQuotaIT.java  |  16 +-
 .../db/it/schema/IoTDBDeactivateTemplateIT.java    |  56 ++---
 .../db/it/schema/IoTDBDeleteTimeSeriesIT.java      |   4 +-
 .../iotdb/db/it/schema/IoTDBExtendTemplateIT.java  |  26 +--
 .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java  | 234 ++++++++++-----------
 .../org/apache/iotdb/util/AbstractSchemaIT.java    |   4 +-
 iotdb-client/client-cpp/src/main/Session.cpp       |   2 +-
 iotdb-client/client-py/README.md                   |  24 +--
 iotdb-client/client-py/iotdb/Session.py            |  14 +-
 .../client-py/iotdb/template/TemplateNode.py       |   2 +-
 iotdb-client/client-py/tests/test_template.py      |   4 +-
 .../java/org/apache/iotdb/session/Session.java     |   4 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |  46 ++--
 .../iotdb/confignode/manager/ConfigManager.java    |   4 +-
 .../impl/schema/DeactivateTemplateProcedure.java   |   2 +-
 .../schemaregion/SchemaExecutionVisitor.java       |   2 +-
 .../exception/metadata/PathNotExistException.java  |   4 +-
 .../template/TemplateIncompatibleException.java    |   4 +-
 .../protocol/thrift/impl/ClientRPCServiceImpl.java |  10 +-
 .../common/header/ColumnHeaderConstant.java        |   2 +-
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |   2 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  12 +-
 .../db/queryengine/plan/parser/ASTVisitor.java     |  10 +-
 .../template/ClusterTemplateManager.java           |   4 +-
 .../db/schemaengine/template/ITemplateManager.java |   6 +-
 .../src/main/thrift/confignode.thrift              |  16 +-
 28 files changed, 280 insertions(+), 280 deletions(-)

diff --git 
a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionIdentifierIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionIdentifierIT.java
index 54cde136ec8..3e9743bc8c8 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionIdentifierIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionIdentifierIT.java
@@ -938,12 +938,12 @@ public class IoTDBSyntaxConventionIdentifierIT {
       for (String templateName : templateNames) {
         String createTemplateSql =
             String.format(
-                "create schema template %s (temperature FLOAT encoding=RLE, 
status BOOLEAN encoding=PLAIN compression=SNAPPY)",
+                "create device template %s (temperature FLOAT encoding=RLE, 
status BOOLEAN encoding=PLAIN compression=SNAPPY)",
                 templateName);
         statement.execute(createTemplateSql);
       }
 
-      try (ResultSet resultSet = statement.executeQuery("SHOW SCHEMA 
TEMPLATES")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW DEVICE 
TEMPLATES")) {
         Set<String> expectedResult = new HashSet<>(Arrays.asList(resultNames));
         while (resultSet.next()) {
           
Assert.assertTrue(expectedResult.contains(resultSet.getString("TemplateName")));
@@ -963,7 +963,7 @@ public class IoTDBSyntaxConventionIdentifierIT {
         Statement statement = connection.createStatement()) {
       try {
         statement.execute(
-            "create schema template `a`` "
+            "create device template `a`` "
                 + "(temperature FLOAT encoding=RLE, status BOOLEAN 
encoding=PLAIN compression=SNAPPY)");
         fail();
       } catch (Exception ignored) {
@@ -971,7 +971,7 @@ public class IoTDBSyntaxConventionIdentifierIT {
 
       try {
         statement.execute(
-            "create schema template 111 "
+            "create device template 111 "
                 + "(temperature FLOAT encoding=RLE, status BOOLEAN 
encoding=PLAIN compression=SNAPPY)");
         fail();
       } catch (Exception ignored) {
@@ -979,7 +979,7 @@ public class IoTDBSyntaxConventionIdentifierIT {
 
       try {
         statement.execute(
-            "create schema template `a "
+            "create device template `a "
                 + "(temperature FLOAT encoding=RLE, status BOOLEAN 
encoding=PLAIN compression=SNAPPY)");
         fail();
       } catch (Exception ignored) {
@@ -987,7 +987,7 @@ public class IoTDBSyntaxConventionIdentifierIT {
 
       try {
         statement.execute(
-            "create schema template 'a' "
+            "create device template 'a' "
                 + "(temperature FLOAT encoding=RLE, status BOOLEAN 
encoding=PLAIN compression=SNAPPY)");
         fail();
       } catch (Exception ignored) {
@@ -995,7 +995,7 @@ public class IoTDBSyntaxConventionIdentifierIT {
 
       try {
         statement.execute(
-            "create schema template \"a\" "
+            "create device template \"a\" "
                 + "(temperature FLOAT encoding=RLE, status BOOLEAN 
encoding=PLAIN compression=SNAPPY)");
         fail();
       } catch (Exception ignored) {
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/db/it/auth/IoTDBTemplatePermissionIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/db/it/auth/IoTDBTemplatePermissionIT.java
index 25a852683eb..7ac8a1e96a5 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/db/it/auth/IoTDBTemplatePermissionIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/db/it/auth/IoTDBTemplatePermissionIT.java
@@ -63,42 +63,42 @@ public class IoTDBTemplatePermissionIT {
   @Test
   public void adminOperationsTest() {
     assertNonQueryTestFail(
-        "create schema template t1 (temperature FLOAT encoding=RLE, status 
BOOLEAN encoding=PLAIN compression=SNAPPY)",
+        "create device template t1 (temperature FLOAT encoding=RLE, status 
BOOLEAN encoding=PLAIN compression=SNAPPY)",
         "803: Only the admin user can perform this operation",
         "test",
         "test123");
     assertNonQueryTestFail(
-        "drop schema template t1",
+        "drop device template t1",
         "803: Only the admin user can perform this operation",
         "test",
         "test123");
     assertNonQueryTestFail(
-        "alter schema template t1 add (speed FLOAT encoding=RLE, FLOAT TEXT 
encoding=PLAIN compression=SNAPPY)",
+        "alter device template t1 add (speed FLOAT encoding=RLE, FLOAT TEXT 
encoding=PLAIN compression=SNAPPY)",
         "803: Only the admin user can perform this operation",
         "test",
         "test123");
     assertNonQueryTestFail(
-        "show schema templates",
+        "show device templates",
         "803: Only the admin user can perform this operation",
         "test",
         "test123");
     assertNonQueryTestFail(
-        "show nodes in schema template t1",
+        "show nodes in device template t1",
         "803: Only the admin user can perform this operation",
         "test",
         "test123");
     assertNonQueryTestFail(
-        "set schema template t1 to root.sg1",
+        "set device template t1 to root.sg1",
         "803: Only the admin user can perform this operation",
         "test",
         "test123");
     assertNonQueryTestFail(
-        "unset schema template t1 from root.sg1",
+        "unset device template t1 from root.sg1",
         "803: Only the admin user can perform this operation",
         "test",
         "test123");
     assertNonQueryTestFail(
-        "show paths set schema template t1",
+        "show paths set device template t1",
         "803: Only the admin user can perform this operation",
         "test",
         "test123");
@@ -107,18 +107,18 @@ public class IoTDBTemplatePermissionIT {
   @Test
   public void otherTest() {
     executeNonQuery(
-        "create schema template t1 (temperature FLOAT encoding=RLE, status 
BOOLEAN encoding=PLAIN compression=SNAPPY)");
+        "create device template t1 (temperature FLOAT encoding=RLE, status 
BOOLEAN encoding=PLAIN compression=SNAPPY)");
     executeNonQuery("create database root.sg1");
-    executeNonQuery("set schema template t1 to root.sg1.d1");
+    executeNonQuery("set device template t1 to root.sg1.d1");
 
     // active
     assertNonQueryTestFail(
-        "create timeseries using schema template on root.sg1.d1",
+        "create timeseries using device template on root.sg1.d1",
         "803: No permissions for this operation, please add privilege 
WRITE_SCHEMA on [root.sg1.d1.temperature, root.sg1.d1.status]",
         "test",
         "test123");
     grantUserSeriesPrivilege("test", PrivilegeType.WRITE_SCHEMA, 
"root.sg1.d1.**");
-    executeNonQuery("create timeseries using schema template on root.sg1.d1", 
"test", "test123");
+    executeNonQuery("create timeseries using device template on root.sg1.d1", 
"test", "test123");
 
     // insert
     assertNonQueryTestFail(
@@ -138,9 +138,9 @@ public class IoTDBTemplatePermissionIT {
 
     // show
     executeNonQuery("create database root.sg2");
-    executeNonQuery("set schema template t1 to root.sg2.d1");
+    executeNonQuery("set device template t1 to root.sg2.d1");
     resultSetEqualTest(
-        "show paths using schema template t1",
+        "show paths using device template t1",
         showPathsUsingTemplateHeaders.stream()
             .map(ColumnHeader::getColumnName)
             .toArray(String[]::new),
@@ -151,11 +151,11 @@ public class IoTDBTemplatePermissionIT {
     // deActive
     revokeUserSeriesPrivilege("test", PrivilegeType.WRITE_SCHEMA, 
"root.sg1.d1.**");
     assertNonQueryTestFail(
-        "deactivate schema template t1 from root.sg1.d1",
+        "deactivate device template t1 from root.sg1.d1",
         "803: No permissions for this operation, please add privilege 
WRITE_SCHEMA on [root.sg1.d1.temperature, root.sg1.d1.s1, root.sg1.d1.status]",
         "test",
         "test123");
     grantUserSeriesPrivilege("test", PrivilegeType.WRITE_SCHEMA, 
"root.sg1.d1.**");
-    executeNonQuery("deactivate schema template t1 from root.sg1.d1", "test", 
"test123");
+    executeNonQuery("deactivate device template t1 from root.sg1.d1", "test", 
"test123");
   }
 }
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBClusterMeasurementQuotaIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBClusterMeasurementQuotaIT.java
index 93693a7fc99..42ab75671d5 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBClusterMeasurementQuotaIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBClusterMeasurementQuotaIT.java
@@ -62,10 +62,10 @@ public class IoTDBClusterMeasurementQuotaIT extends 
AbstractSchemaIT {
       // create database
       statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE DATABASE root.sg2");
-      // create schema template
-      statement.execute("CREATE SCHEMA TEMPLATE t1 (s1 INT64, s2 DOUBLE)");
-      // set schema template
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg2");
+      // create device template
+      statement.execute("CREATE DEVICE TEMPLATE t1 (s1 INT64, s2 DOUBLE)");
+      // set device template
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg2");
       statement.execute(
           "create timeseries root.sg1.d0.s0 with datatype=FLOAT, encoding=RLE, 
compression=SNAPPY");
       statement.execute(
@@ -74,7 +74,7 @@ public class IoTDBClusterMeasurementQuotaIT extends 
AbstractSchemaIT {
           "create timeseries root.sg1.d1.s0 with datatype=FLOAT, encoding=RLE, 
compression=SNAPPY");
       statement.execute(
           "create timeseries root.sg1.d1.s1 with datatype=FLOAT, encoding=RLE, 
compression=SNAPPY");
-      statement.execute("create timeseries of schema template on 
root.sg2.d1;");
+      statement.execute("create timeseries of device template on 
root.sg2.d1;");
     }
   }
 
@@ -92,7 +92,7 @@ public class IoTDBClusterMeasurementQuotaIT extends 
AbstractSchemaIT {
                 .contains("The current metadata capacity has exceeded the 
cluster quota"));
       }
       try {
-        statement.execute("create timeseries of schema template on 
root.sg2.d2;");
+        statement.execute("create timeseries of device template on 
root.sg2.d2;");
         Assert.fail();
       } catch (Exception e) {
         Assert.assertTrue(
@@ -104,8 +104,8 @@ public class IoTDBClusterMeasurementQuotaIT extends 
AbstractSchemaIT {
       statement.execute("delete timeseries root.sg1.d0.s0;");
       Thread.sleep(2000); // wait heartbeat
       // now we can create 3 new timeseries or 1 new device
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d4");
-      statement.execute("create timeseries of schema template on root.sg1.d4");
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d4");
+      statement.execute("create timeseries of device template on root.sg1.d4");
       statement.execute(
           "create timeseries root.sg1.d1.s3 with datatype=FLOAT, encoding=RLE, 
compression=SNAPPY");
       Thread.sleep(2000); // wait heartbeat
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeactivateTemplateIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeactivateTemplateIT.java
index ddc48ab4f7e..7a3ea9f72f5 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeactivateTemplateIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeactivateTemplateIT.java
@@ -77,18 +77,18 @@ public class IoTDBDeactivateTemplateIT extends 
AbstractSchemaIT {
       statement.execute("CREATE DATABASE root.sg3");
       statement.execute("CREATE DATABASE root.sg4");
 
-      // create schema template
-      statement.execute("CREATE SCHEMA TEMPLATE t1 (s1 INT64, s2 DOUBLE)");
-      statement.execute("CREATE SCHEMA TEMPLATE t2 (s1 INT64, s2 DOUBLE)");
+      // create device template
+      statement.execute("CREATE DEVICE TEMPLATE t1 (s1 INT64, s2 DOUBLE)");
+      statement.execute("CREATE DEVICE TEMPLATE t2 (s1 INT64, s2 DOUBLE)");
 
-      // set schema template
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1");
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg2");
-      statement.execute("SET SCHEMA TEMPLATE t2 TO root.sg3");
-      statement.execute("SET SCHEMA TEMPLATE t2 TO root.sg4");
+      // set device template
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1");
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg2");
+      statement.execute("SET DEVICE TEMPLATE t2 TO root.sg3");
+      statement.execute("SET DEVICE TEMPLATE t2 TO root.sg4");
 
       for (int j = 1; j <= 4; j++) {
-        statement.execute(String.format("create timeseries of schema template 
on root.sg%d.d1", j));
+        statement.execute(String.format("create timeseries of device template 
on root.sg%d.d1", j));
       }
     }
   }
@@ -97,14 +97,14 @@ public class IoTDBDeactivateTemplateIT extends 
AbstractSchemaIT {
   public void deactivateTemplateAndReactivateTest() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("DEACTIVATE SCHEMA TEMPLATE t1 FROM root.sg1.d1");
+      statement.execute("DEACTIVATE DEVICE TEMPLATE t1 FROM root.sg1.d1");
       try (ResultSet resultSet = statement.executeQuery("SELECT * FROM 
root.sg1.*")) {
         ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
         Assert.assertEquals(1, resultSetMetaData.getColumnCount());
         Assert.assertFalse(resultSet.next());
       }
 
-      statement.execute("CREATE TIMESERIES OF SCHEMA TEMPLATE ON root.sg1.d1");
+      statement.execute("CREATE TIMESERIES OF DEVICE TEMPLATE ON root.sg1.d1");
 
       try (ResultSet resultSet = statement.executeQuery("SELECT * FROM 
root.sg1.*")) {
         ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
@@ -136,7 +136,7 @@ public class IoTDBDeactivateTemplateIT extends 
AbstractSchemaIT {
   public void deactivateTemplateAndAutoDeleteDeviceTest() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("DEACTIVATE SCHEMA TEMPLATE t1 FROM root.sg1.d1");
+      statement.execute("DEACTIVATE DEVICE TEMPLATE t1 FROM root.sg1.d1");
       try (ResultSet resultSet = statement.executeQuery("SELECT * FROM 
root.sg1.*")) {
         ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
         Assert.assertEquals(1, resultSetMetaData.getColumnCount());
@@ -160,7 +160,7 @@ public class IoTDBDeactivateTemplateIT extends 
AbstractSchemaIT {
         }
       }
 
-      statement.execute("DEACTIVATE SCHEMA TEMPLATE FROM root.sg1.*");
+      statement.execute("DEACTIVATE DEVICE TEMPLATE FROM root.sg1.*");
       try (ResultSet resultSet = statement.executeQuery("SELECT * FROM 
root.sg1.**")) {
         ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
         Assert.assertEquals(1, resultSetMetaData.getColumnCount());
@@ -180,7 +180,7 @@ public class IoTDBDeactivateTemplateIT extends 
AbstractSchemaIT {
         }
       }
 
-      statement.execute("DEACTIVATE SCHEMA TEMPLATE FROM root.*.d1");
+      statement.execute("DEACTIVATE DEVICE TEMPLATE FROM root.*.d1");
       String[] retArray =
           new String[] {"1,1,1.0,1,1.0,", "2,2,2.0,2,2.0,", "3,3,3.0,3,3.0,", 
"4,4,4.0,4,4.0,"};
       int cnt = 0;
@@ -198,7 +198,7 @@ public class IoTDBDeactivateTemplateIT extends 
AbstractSchemaIT {
         Assert.assertEquals(retArray.length, cnt);
       }
 
-      statement.execute("DEACTIVATE SCHEMA TEMPLATE FROM root.**, root.sg1.*");
+      statement.execute("DEACTIVATE DEVICE TEMPLATE FROM root.**, root.sg1.*");
       try (ResultSet resultSet = statement.executeQuery("SELECT * FROM 
root.**")) {
         ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
         Assert.assertEquals(1, resultSetMetaData.getColumnCount());
@@ -211,7 +211,7 @@ public class IoTDBDeactivateTemplateIT extends 
AbstractSchemaIT {
   public void deactivateTemplateWithMultiPatternTest() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("DEACTIVATE SCHEMA TEMPLATE t1 FROM root.sg1.d1, 
root.sg2.*");
+      statement.execute("DEACTIVATE DEVICE TEMPLATE t1 FROM root.sg1.d1, 
root.sg2.*");
       try (ResultSet resultSet = statement.executeQuery("SELECT * FROM 
root.sg1.*, root.sg2.*")) {
         ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
         Assert.assertEquals(1, resultSetMetaData.getColumnCount());
@@ -225,24 +225,24 @@ public class IoTDBDeactivateTemplateIT extends 
AbstractSchemaIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       try {
-        statement.execute("DEACTIVATE SCHEMA TEMPLATE t1 FROM root.sg5.d1");
+        statement.execute("DEACTIVATE DEVICE TEMPLATE t1 FROM root.sg5.d1");
         Assert.fail();
       } catch (SQLException e) {
         Assert.assertEquals(
             TSStatusCode.TEMPLATE_NOT_SET.getStatusCode()
-                + ": Schema Template t1 is not set on any prefix path of 
[root.sg5.d1]",
+                + ": Device Template t1 is not set on any prefix path of 
[root.sg5.d1]",
             e.getMessage());
       }
 
       statement.execute("CREATE DATABASE root.sg5");
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg5 ");
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg5 ");
       try {
-        statement.execute("DEACTIVATE SCHEMA TEMPLATE t1 FROM root.sg5.d1");
+        statement.execute("DEACTIVATE DEVICE TEMPLATE t1 FROM root.sg5.d1");
         Assert.fail();
       } catch (SQLException e) {
         Assert.assertEquals(
             TSStatusCode.TEMPLATE_NOT_ACTIVATED.getStatusCode()
-                + ": Target schema Template is not activated on any path 
matched by given path pattern",
+                + ": Target Device Template is not activated on any path 
matched by given path pattern",
             e.getMessage());
       }
     }
@@ -252,21 +252,21 @@ public class IoTDBDeactivateTemplateIT extends 
AbstractSchemaIT {
   public void multiSyntaxTest() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("DELETE TIMESERIES OF SCHEMA TEMPLATE t1 FROM 
root.sg1.d1");
+      statement.execute("DELETE TIMESERIES OF DEVICE TEMPLATE t1 FROM 
root.sg1.d1");
       try (ResultSet resultSet = statement.executeQuery("SELECT * FROM 
root.sg1.*")) {
         ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
         Assert.assertEquals(1, resultSetMetaData.getColumnCount());
         Assert.assertFalse(resultSet.next());
       }
 
-      statement.execute("DEACTIVATE SCHEMA TEMPLATE t2 FROM root.sg3.d1");
+      statement.execute("DEACTIVATE DEVICE TEMPLATE t2 FROM root.sg3.d1");
       try (ResultSet resultSet = statement.executeQuery("SELECT * FROM 
root.sg3.*")) {
         ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
         Assert.assertEquals(1, resultSetMetaData.getColumnCount());
         Assert.assertFalse(resultSet.next());
       }
 
-      statement.execute("DEACTIVATE SCHEMA TEMPLATE FROM root.**");
+      statement.execute("DEACTIVATE DEVICE TEMPLATE FROM root.**");
       try (ResultSet resultSet = statement.executeQuery("SELECT * FROM 
root.**")) {
         ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
         Assert.assertEquals(1, resultSetMetaData.getColumnCount());
@@ -283,16 +283,16 @@ public class IoTDBDeactivateTemplateIT extends 
AbstractSchemaIT {
       statement.execute("create database root.db.factory1");
       statement.execute("create database root.db.factory2");
 
-      statement.execute("set schema template t1 to root.db.factory0");
-      statement.execute("set schema template t1 to root.db.factory1");
+      statement.execute("set device template t1 to root.db.factory0");
+      statement.execute("set device template t1 to root.db.factory1");
 
       try {
-        statement.execute("deactivate schema template from root.db.**");
+        statement.execute("deactivate device template from root.db.**");
       } catch (SQLException e) {
         Assert.assertTrue(
             e.getMessage()
                 .contains(
-                    "Target schema Template is not activated on any path 
matched by given path pattern"));
+                    "Target Device Template is not activated on any path 
matched by given path pattern"));
       }
     }
   }
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteTimeSeriesIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteTimeSeriesIT.java
index 5caf5ba0e19..743ff74dfc3 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteTimeSeriesIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteTimeSeriesIT.java
@@ -415,7 +415,7 @@ public class IoTDBDeleteTimeSeriesIT extends 
AbstractSchemaIT {
             e.getMessage()
                 .contains(
                     TSStatusCode.PATH_NOT_EXIST.getStatusCode()
-                        + ": Timeseries [root.**] does not exist or is 
represented by schema template"));
+                        + ": Timeseries [root.**] does not exist or is 
represented by device template"));
       }
 
       String[] retArray1 = new String[] {"0,4,4,4,4"};
@@ -447,7 +447,7 @@ public class IoTDBDeleteTimeSeriesIT extends 
AbstractSchemaIT {
             e.getMessage()
                 .contains(
                     TSStatusCode.PATH_NOT_EXIST.getStatusCode()
-                        + ": Timeseries [root.*.d1.s3] does not exist or is 
represented by schema template"));
+                        + ": Timeseries [root.*.d1.s3] does not exist or is 
represented by device template"));
       }
     }
   }
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBExtendTemplateIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBExtendTemplateIT.java
index 11885f6d787..eb2e772df2f 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBExtendTemplateIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBExtendTemplateIT.java
@@ -73,24 +73,24 @@ public class IoTDBExtendTemplateIT extends AbstractSchemaIT 
{
       // create database
       statement.execute("CREATE DATABASE root.db");
 
-      // create schema template
+      // create device template
       statement.execute(
-          "CREATE SCHEMA TEMPLATE t1 (s1 INT64 ENCODING=PLAIN, s2 DOUBLE 
ENCODING=RLE)");
+          "CREATE DEVICE TEMPLATE t1 (s1 INT64 ENCODING=PLAIN, s2 DOUBLE 
ENCODING=RLE)");
 
-      statement.execute("SET SCHEMA TEMPLATE t1 to root.db");
+      statement.execute("SET DEVICE TEMPLATE t1 to root.db");
 
-      statement.execute("CREATE TIMESERIES USING SCHEMA TEMPLATE on 
root.db.d1");
+      statement.execute("CREATE TIMESERIES USING DEVICE TEMPLATE on 
root.db.d1");
 
       statement.execute(
-          "ALTER SCHEMA TEMPLATE t1 ADD(s3 INT64 ENCODING=RLE, s4 DOUBLE 
ENCODING=GORILLA)");
+          "ALTER DEVICE TEMPLATE t1 ADD(s3 INT64 ENCODING=RLE, s4 DOUBLE 
ENCODING=GORILLA)");
 
       try {
         statement.execute(
-            "ALTER SCHEMA TEMPLATE t1 ADD(s5 INT64 ENCODING=RLE, s5 DOUBLE 
ENCODING=GORILLA)");
+            "ALTER DEVICE TEMPLATE t1 ADD(s5 INT64 ENCODING=RLE, s5 DOUBLE 
ENCODING=GORILLA)");
       } catch (SQLException e) {
         Assert.assertTrue(
             e.getMessage()
-                .contains("Duplicated measurement [s5] in schema template 
alter request"));
+                .contains("Duplicated measurement [s5] in device template 
alter request"));
       }
 
       String[] sqls =
@@ -136,11 +136,11 @@ public class IoTDBExtendTemplateIT extends 
AbstractSchemaIT {
       // create database
       statement.execute("CREATE DATABASE root.db");
 
-      // create schema template
+      // create device template
       statement.execute(
-          "CREATE SCHEMA TEMPLATE t1 (s1 INT64 ENCODING=PLAIN, s2 DOUBLE 
ENCODING=RLE)");
+          "CREATE DEVICE TEMPLATE t1 (s1 INT64 ENCODING=PLAIN, s2 DOUBLE 
ENCODING=RLE)");
 
-      statement.execute("SET SCHEMA TEMPLATE t1 to root.db");
+      statement.execute("SET DEVICE TEMPLATE t1 to root.db");
 
       statement.execute("INSERT INTO root.db.d1(time, s1, s3) values(1, 1, 
1)");
       statement.execute("INSERT INTO root.db.d2(time, s4, s5) values(1, 1, 
1)");
@@ -197,11 +197,11 @@ public class IoTDBExtendTemplateIT extends 
AbstractSchemaIT {
       // create database
       statement.execute("CREATE DATABASE root.db");
 
-      // create schema template
+      // create device template
       statement.execute(
-          "CREATE SCHEMA TEMPLATE t1 (s1 INT64 ENCODING=PLAIN, s2 DOUBLE 
ENCODING=RLE)");
+          "CREATE DEVICE TEMPLATE t1 (s1 INT64 ENCODING=PLAIN, s2 DOUBLE 
ENCODING=RLE)");
 
-      statement.execute("SET SCHEMA TEMPLATE t1 to root.db");
+      statement.execute("SET DEVICE TEMPLATE t1 to root.db");
 
       statement.execute("INSERT INTO root.db.d1(time, s1, s2) values(1, 1, 
1)");
 
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSchemaTemplateIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSchemaTemplateIT.java
index 44612d8b552..455a56bed94 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSchemaTemplateIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSchemaTemplateIT.java
@@ -84,22 +84,22 @@ public class IoTDBSchemaTemplateIT extends AbstractSchemaIT 
{
       statement.execute("CREATE DATABASE root.sg2");
       statement.execute("CREATE DATABASE root.sg3");
 
-      // create schema template
-      statement.execute("CREATE SCHEMA TEMPLATE t1 (s1 INT64, s2 DOUBLE)");
-      statement.execute("CREATE SCHEMA TEMPLATE t2 aligned (s1 INT64, s2 
DOUBLE)");
-      statement.execute("CREATE SCHEMA TEMPLATE t3 aligned (s1 INT64)");
+      // create device template
+      statement.execute("CREATE DEVICE TEMPLATE t1 (s1 INT64, s2 DOUBLE)");
+      statement.execute("CREATE DEVICE TEMPLATE t2 aligned (s1 INT64, s2 
DOUBLE)");
+      statement.execute("CREATE DEVICE TEMPLATE t3 aligned (s1 INT64)");
     }
   }
 
   @Test
   public void testCreateTemplateAndCreateTimeseries() throws SQLException {
-    // test create schema template repeatedly
+    // test create device template repeatedly
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       // test datatype and encoding check
       try {
         statement.execute(
-            "CREATE SCHEMA TEMPLATE str1 (s1 TEXT encoding=GORILLA 
compressor=SNAPPY, s2 INT32)");
+            "CREATE DEVICE TEMPLATE str1 (s1 TEXT encoding=GORILLA 
compressor=SNAPPY, s2 INT32)");
         fail();
       } catch (SQLException e) {
         System.out.println(e.getMessage());
@@ -111,7 +111,7 @@ public class IoTDBSchemaTemplateIT extends AbstractSchemaIT 
{
 
       try {
         statement.execute(
-            "CREATE SCHEMA TEMPLATE t1 (s1 INT64 encoding=RLE 
compressor=SNAPPY, s2 INT32)");
+            "CREATE DEVICE TEMPLATE t1 (s1 INT64 encoding=RLE 
compressor=SNAPPY, s2 INT32)");
         fail();
       } catch (SQLException e) {
         Assert.assertEquals(
@@ -119,14 +119,14 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
             e.getMessage());
       }
 
-      // set schema template
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d1");
-      statement.execute("SET SCHEMA TEMPLATE t2 TO root.sg1.d2");
-      statement.execute("SET SCHEMA TEMPLATE t3 TO root.sg1.d3");
+      // set device template
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d1");
+      statement.execute("SET DEVICE TEMPLATE t2 TO root.sg1.d2");
+      statement.execute("SET DEVICE TEMPLATE t3 TO root.sg1.d3");
 
       // test drop template which has been set
       try {
-        statement.execute("DROP SCHEMA TEMPLATE t1");
+        statement.execute("DROP DEVICE TEMPLATE t1");
         fail();
       } catch (SQLException e) {
         Assert.assertEquals(
@@ -139,10 +139,10 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
         Assert.assertFalse(resultSet.next());
       }
 
-      // create timeseries of schema template
-      statement.execute("CREATE TIMESERIES OF SCHEMA TEMPLATE ON root.sg1.d1");
-      statement.execute("CREATE TIMESERIES OF SCHEMA TEMPLATE ON root.sg1.d2");
-      statement.execute("CREATE TIMESERIES OF SCHEMA TEMPLATE ON root.sg1.d3");
+      // create timeseries of device template
+      statement.execute("CREATE TIMESERIES OF DEVICE TEMPLATE ON root.sg1.d1");
+      statement.execute("CREATE TIMESERIES OF DEVICE TEMPLATE ON root.sg1.d2");
+      statement.execute("CREATE TIMESERIES OF DEVICE TEMPLATE ON root.sg1.d3");
 
       Set<String> expectedResult =
           new HashSet<>(
@@ -190,7 +190,7 @@ public class IoTDBSchemaTemplateIT extends AbstractSchemaIT 
{
       Assert.assertTrue(expectedResult.isEmpty());
 
       try {
-        statement.execute("UNSET SCHEMA TEMPLATE t1 FROM root.sg1.d1");
+        statement.execute("UNSET DEVICE TEMPLATE t1 FROM root.sg1.d1");
         fail();
       } catch (SQLException e) {
         Assert.assertEquals(
@@ -202,12 +202,12 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
 
   @Test
   public void testCreateAndSetSchemaTemplate() throws SQLException {
-    // test create schema template repeatedly
+    // test create device template repeatedly
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       try {
         statement.execute(
-            "CREATE SCHEMA TEMPLATE t1 (s1 INT64 encoding=RLE 
compressor=SNAPPY, s2 INT32)");
+            "CREATE DEVICE TEMPLATE t1 (s1 INT64 encoding=RLE 
compressor=SNAPPY, s2 INT32)");
         fail();
       } catch (SQLException e) {
         Assert.assertEquals(
@@ -215,15 +215,15 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
             e.getMessage());
       }
 
-      // set schema template
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d1");
-      statement.execute("SET SCHEMA TEMPLATE t2 TO root.sg1.d2");
+      // set device template
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d1");
+      statement.execute("SET DEVICE TEMPLATE t2 TO root.sg1.d2");
 
       try (ResultSet resultSet = statement.executeQuery("SHOW TIMESERIES 
root.sg1.**")) {
         Assert.assertFalse(resultSet.next());
       }
 
-      // set using schema template
+      // set using device template
       statement.execute("INSERT INTO root.sg1.d1(time,s1) VALUES (1,1)");
       statement.execute("INSERT INTO root.sg1.d2(time,s1) ALIGNED VALUES 
(1,1)");
 
@@ -271,7 +271,7 @@ public class IoTDBSchemaTemplateIT extends AbstractSchemaIT 
{
       Assert.assertTrue(expectedResult.isEmpty());
 
       try {
-        statement.execute("UNSET SCHEMA TEMPLATE t1 FROM root.sg1.d1");
+        statement.execute("UNSET DEVICE TEMPLATE t1 FROM root.sg1.d1");
         fail();
       } catch (SQLException e) {
         Assert.assertEquals(
@@ -283,12 +283,12 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
 
   @Test
   public void testDropAndShowSchemaTemplates() throws SQLException {
-    // show schema templates
+    // show device templates
     String[] expectedResult = new String[] {"t1", "t2", "t3"};
     Set<String> expectedResultSet = new 
HashSet<>(Arrays.asList(expectedResult));
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      try (ResultSet resultSet = statement.executeQuery("SHOW SCHEMA 
TEMPLATES")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW DEVICE 
TEMPLATES")) {
         while (resultSet.next()) {
           Assert.assertTrue(
               
expectedResultSet.contains(resultSet.getString(ColumnHeaderConstant.TEMPLATE_NAME)));
@@ -297,11 +297,11 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
       }
       Assert.assertEquals(0, expectedResultSet.size());
 
-      // drop schema template
-      statement.execute("DROP SCHEMA TEMPLATE t2");
+      // drop device template
+      statement.execute("DROP DEVICE TEMPLATE t2");
       expectedResult = new String[] {"t1", "t3"};
       expectedResultSet = new HashSet<>(Arrays.asList(expectedResult));
-      try (ResultSet resultSet = statement.executeQuery("SHOW SCHEMA 
TEMPLATES")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW DEVICE 
TEMPLATES")) {
         while (resultSet.next()) {
           Assert.assertTrue(
               
expectedResultSet.contains(resultSet.getString(ColumnHeaderConstant.TEMPLATE_NAME)));
@@ -314,12 +314,12 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
 
   @Test
   public void testShowNodesInSchemaTemplate() throws SQLException {
-    // set schema template
+    // set device template
     Set<String> expectedResultSet =
         new HashSet<>(Arrays.asList("s1,INT64,TS_2DIFF,LZ4", 
"s2,DOUBLE,GORILLA,LZ4"));
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement();
-        ResultSet resultSet = statement.executeQuery("SHOW NODES IN SCHEMA 
TEMPLATE t1")) {
+        ResultSet resultSet = statement.executeQuery("SHOW NODES IN DEVICE 
TEMPLATE t1")) {
       while (resultSet.next()) {
         String actualResult =
             resultSet.getString(ColumnHeaderConstant.CHILD_NODES)
@@ -340,16 +340,16 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
   public void testShowPathsSetOrUsingSchemaTemplate() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // set schema template
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d1");
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d2");
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg2.d1");
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg2.d2");
-      statement.execute("SET SCHEMA TEMPLATE t2 TO root.sg3.d1");
-      statement.execute("SET SCHEMA TEMPLATE t2 TO root.sg3.d2");
+      // set device template
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d1");
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d2");
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg2.d1");
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg2.d2");
+      statement.execute("SET DEVICE TEMPLATE t2 TO root.sg3.d1");
+      statement.execute("SET DEVICE TEMPLATE t2 TO root.sg3.d2");
       statement.execute("INSERT INTO root.sg3.d2.verify(time, show) ALIGNED 
VALUES (1, 1)");
 
-      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS USING 
SCHEMA TEMPLATE t1")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS USING 
DEVICE TEMPLATE t1")) {
         String resultRecord;
         while (resultSet.next()) {
           resultRecord = resultSet.getString(1);
@@ -357,15 +357,15 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
         }
       }
 
-      // activate schema template
-      statement.execute("CREATE TIMESERIES OF SCHEMA TEMPLATE ON root.sg1.d2");
-      statement.execute("CREATE TIMESERIES OF SCHEMA TEMPLATE ON root.sg2.d1");
+      // activate device template
+      statement.execute("CREATE TIMESERIES OF DEVICE TEMPLATE ON root.sg1.d2");
+      statement.execute("CREATE TIMESERIES OF DEVICE TEMPLATE ON root.sg2.d1");
 
-      // show paths set schema template
+      // show paths set device template
       String[] expectedResult =
           new String[] {"root.sg1.d1", "root.sg2.d2", "root.sg1.d2", 
"root.sg2.d1"};
       Set<String> expectedResultSet = new 
HashSet<>(Arrays.asList(expectedResult));
-      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS SET SCHEMA 
TEMPLATE t1")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS SET DEVICE 
TEMPLATE t1")) {
         String resultRecord;
         while (resultSet.next()) {
           resultRecord = resultSet.getString(1);
@@ -377,7 +377,7 @@ public class IoTDBSchemaTemplateIT extends AbstractSchemaIT 
{
 
       expectedResult = new String[] {"root.sg3.d1", "root.sg3.d2"};
       expectedResultSet = new HashSet<>(Arrays.asList(expectedResult));
-      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS SET SCHEMA 
TEMPLATE t2")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS SET DEVICE 
TEMPLATE t2")) {
         String resultRecord;
         while (resultSet.next()) {
           resultRecord = resultSet.getString(1);
@@ -389,7 +389,7 @@ public class IoTDBSchemaTemplateIT extends AbstractSchemaIT 
{
 
       expectedResult = new String[] {"root.sg1.d2", "root.sg2.d1"};
       expectedResultSet = new HashSet<>(Arrays.asList(expectedResult));
-      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS USING 
SCHEMA TEMPLATE t1")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS USING 
DEVICE TEMPLATE t1")) {
         String resultRecord;
         while (resultSet.next()) {
           resultRecord = resultSet.getString(1);
@@ -399,7 +399,7 @@ public class IoTDBSchemaTemplateIT extends AbstractSchemaIT 
{
       }
       Assert.assertEquals(0, expectedResultSet.size());
 
-      ResultSet resultSet = statement.executeQuery("SHOW PATHS USING SCHEMA 
TEMPLATE t2");
+      ResultSet resultSet = statement.executeQuery("SHOW PATHS USING DEVICE 
TEMPLATE t2");
       Assert.assertTrue(resultSet.next());
     }
   }
@@ -409,7 +409,7 @@ public class IoTDBSchemaTemplateIT extends AbstractSchemaIT 
{
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.execute("CREATE DATABASE root.test.sg_satosg");
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.test.sg_satosg");
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.test.sg_satosg");
       statement.execute("INSERT INTO root.test.sg_satosg(time, s1) VALUES (1, 
1)");
       statement.execute("INSERT INTO root.test.sg_satosg(time, s1) VALUES (2, 
2)");
       ResultSet resultSet = statement.executeQuery("SHOW TIMESERIES 
root.test.sg_satosg.**");
@@ -436,13 +436,13 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
   public void testDeleteTimeSeriesWhenUsingTemplate() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // set schema template
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d1");
-      statement.execute("SET SCHEMA TEMPLATE t2 TO root.sg1.d2");
+      // set device template
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d1");
+      statement.execute("SET DEVICE TEMPLATE t2 TO root.sg1.d2");
 
       statement.execute("CREATE TIMESERIES root.sg3.d1.s1 INT64");
 
-      // set using schema template
+      // set using device template
       statement.execute("INSERT INTO root.sg1.d1(time,s1) VALUES (1,1)");
       statement.execute("INSERT INTO root.sg1.d2(time,s1) ALIGNED VALUES 
(1,1)");
       statement.execute("INSERT INTO root.sg3.d1(time,s1) VALUES (1,1)");
@@ -495,13 +495,13 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
   public void testSchemaQueryAndFetchWithUnrelatedTemplate() throws 
SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("CREATE SCHEMA TEMPLATE t4 (s3 INT64, s4 DOUBLE)");
+      statement.execute("CREATE DEVICE TEMPLATE t4 (s3 INT64, s4 DOUBLE)");
 
-      // set schema template
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d1");
-      statement.execute("SET SCHEMA TEMPLATE t4 TO root.sg1.d2");
+      // set device template
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d1");
+      statement.execute("SET DEVICE TEMPLATE t4 TO root.sg1.d2");
 
-      // set using schema template
+      // set using device template
       statement.execute("INSERT INTO root.sg1.d1(time,s1) VALUES (1,1)");
       statement.execute("INSERT INTO root.sg1.d2(time,s3) VALUES (1,1)");
 
@@ -545,9 +545,9 @@ public class IoTDBSchemaTemplateIT extends AbstractSchemaIT 
{
   public void testInsertDataWithMeasurementsBeyondTemplate() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // set schema template
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d1");
-      // insert data and auto activate schema template
+      // set device template
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d1");
+      // insert data and auto activate device template
       statement.execute("INSERT INTO root.sg1.d1(time,s1,s2) VALUES (1,1,1)");
       // insert twice to make sure the timeseries in template has been cached
       statement.execute("INSERT INTO root.sg1.d1(time,s1,s2) VALUES (2,1,1)");
@@ -568,12 +568,12 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
   public void testUnsetTemplate() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // set schema template
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d1");
-      // show paths set schema template
+      // set device template
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d1");
+      // show paths set device template
       String[] expectedResult = new String[] {"root.sg1.d1"};
       Set<String> expectedResultSet = new 
HashSet<>(Arrays.asList(expectedResult));
-      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS SET SCHEMA 
TEMPLATE t1")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS SET DEVICE 
TEMPLATE t1")) {
         String resultRecord;
         while (resultSet.next()) {
           resultRecord = resultSet.getString(1);
@@ -582,9 +582,9 @@ public class IoTDBSchemaTemplateIT extends AbstractSchemaIT 
{
         }
       }
       Assert.assertEquals(0, expectedResultSet.size());
-      // unset schema template
-      statement.execute("UNSET SCHEMA TEMPLATE t1 FROM root.sg1.d1");
-      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS SET SCHEMA 
TEMPLATE t1")) {
+      // unset device template
+      statement.execute("UNSET DEVICE TEMPLATE t1 FROM root.sg1.d1");
+      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS SET DEVICE 
TEMPLATE t1")) {
         Assert.assertFalse(resultSet.next());
       }
     }
@@ -594,12 +594,12 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
   public void testTemplateSetAndTimeSeriesExistenceCheck() throws SQLException 
{
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // set schema template
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d1");
-      // show paths set schema template
+      // set device template
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d1");
+      // show paths set device template
       String[] expectedResult = new String[] {"root.sg1.d1"};
       Set<String> expectedResultSet = new 
HashSet<>(Arrays.asList(expectedResult));
-      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS SET SCHEMA 
TEMPLATE t1")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS SET DEVICE 
TEMPLATE t1")) {
         String resultRecord;
         while (resultSet.next()) {
           resultRecord = resultSet.getString(1);
@@ -614,32 +614,32 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
         fail();
       } catch (SQLException e) {
         Assert.assertEquals(
-            "516: Cannot create timeseries [root.sg1.d1.s] since schema 
template [t1] already set on path [root.sg1.d1].",
+            "516: Cannot create timeseries [root.sg1.d1.s] since device 
template [t1] already set on path [root.sg1.d1].",
             e.getMessage());
       }
 
-      // unset schema template
-      statement.execute("UNSET SCHEMA TEMPLATE t1 FROM root.sg1.d1");
-      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS SET SCHEMA 
TEMPLATE t1")) {
+      // unset device template
+      statement.execute("UNSET DEVICE TEMPLATE t1 FROM root.sg1.d1");
+      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS SET DEVICE 
TEMPLATE t1")) {
         Assert.assertFalse(resultSet.next());
       }
 
       statement.execute("CREATE TIMESERIES root.sg1.d1.s INT32");
 
       try {
-        statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d1");
+        statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d1");
       } catch (SQLException e) {
         Assert.assertEquals(
-            "516: Cannot set schema template [t1] to path [root.sg1.d1] since 
there's timeseries under path [root.sg1.d1].",
+            "516: Cannot set device template [t1] to path [root.sg1.d1] since 
there's timeseries under path [root.sg1.d1].",
             e.getMessage());
       }
 
       statement.execute("DELETE TIMESERIES root.sg1.d1.s");
 
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d1");
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d1");
       expectedResult = new String[] {"root.sg1.d1"};
       expectedResultSet = new HashSet<>(Arrays.asList(expectedResult));
-      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS SET SCHEMA 
TEMPLATE t1")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW PATHS SET DEVICE 
TEMPLATE t1")) {
         String resultRecord;
         while (resultSet.next()) {
           resultRecord = resultSet.getString(1);
@@ -649,19 +649,19 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
       }
       Assert.assertEquals(0, expectedResultSet.size());
 
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d2.tmp.m");
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d2.tmp.m");
       try {
         statement.execute("CREATE TIMESERIES root.sg1.d2 INT32");
       } catch (SQLException e) {
         Assert.assertEquals(
-            "516: Cannot create timeseries [root.sg1.d2] since schema template 
[t1] already set on path [root.sg1.d2.tmp.m].",
+            "516: Cannot create timeseries [root.sg1.d2] since device template 
[t1] already set on path [root.sg1.d2.tmp.m].",
             e.getMessage());
       }
       try {
         statement.execute("CREATE TIMESERIES root.sg1.d2.s(tmp) INT32");
       } catch (SQLException e) {
         Assert.assertEquals(
-            "516: Cannot create timeseries [root.sg1.d2.s] since schema 
template [t1] already set on path [root.sg1.d2.tmp.m].",
+            "516: Cannot create timeseries [root.sg1.d2.s] since device 
template [t1] already set on path [root.sg1.d2.tmp.m].",
             e.getMessage());
       }
       statement.execute("CREATE TIMESERIES root.sg1.d2.s INT32");
@@ -670,17 +670,17 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
 
   @Test
   public void testShowTemplateSeriesWithFuzzyQuery() throws Exception {
-    // test create schema template repeatedly
+    // test create device template repeatedly
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // set schema template
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1");
-      statement.execute("SET SCHEMA TEMPLATE t2 TO root.sg2");
-      statement.execute("SET SCHEMA TEMPLATE t3 TO root.sg3");
-      // activate schema template
-      statement.execute("create timeseries using schema template on 
root.sg1.d1");
-      statement.execute("create timeseries using schema template on 
root.sg2.d2");
-      statement.execute("create timeseries using schema template on 
root.sg3.d3");
+      // set device template
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1");
+      statement.execute("SET DEVICE TEMPLATE t2 TO root.sg2");
+      statement.execute("SET DEVICE TEMPLATE t3 TO root.sg3");
+      // activate device template
+      statement.execute("create timeseries using device template on 
root.sg1.d1");
+      statement.execute("create timeseries using device template on 
root.sg2.d2");
+      statement.execute("create timeseries using device template on 
root.sg3.d3");
 
       Set<String> expectedResult =
           new HashSet<>(
@@ -733,20 +733,20 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
   public void testEmptySchemaTemplate() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // create empty schema template
-      statement.execute("create schema template e_t");
-      // set schema template
-      statement.execute("SET SCHEMA TEMPLATE e_t TO root.sg1");
-      try (ResultSet resultSet = statement.executeQuery("show nodes in schema 
template e_t")) {
+      // create empty device template
+      statement.execute("create device template e_t");
+      // set device template
+      statement.execute("SET DEVICE TEMPLATE e_t TO root.sg1");
+      try (ResultSet resultSet = statement.executeQuery("show nodes in device 
template e_t")) {
         Assert.assertFalse(resultSet.next());
       }
 
-      try (ResultSet resultSet = statement.executeQuery("show paths set schema 
template e_t")) {
+      try (ResultSet resultSet = statement.executeQuery("show paths set device 
template e_t")) {
         Assert.assertTrue(resultSet.next());
         Assert.assertFalse(resultSet.next());
       }
 
-      statement.execute("alter schema template e_t add(s1 int32)");
+      statement.execute("alter device template e_t add(s1 int32)");
       statement.execute("insert into root.sg1.d(time, s2, s3) values(1, 1, 
1)");
 
       Set<String> expectedResult =
@@ -778,13 +778,13 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
   public void testLevelCountWithTemplate() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d1");
-      statement.execute("SET SCHEMA TEMPLATE t2 TO root.sg1.d2");
-      statement.execute("SET SCHEMA TEMPLATE t3 TO root.sg1.d3");
-      // create timeseries of schema template
-      statement.execute("CREATE TIMESERIES OF SCHEMA TEMPLATE ON root.sg1.d1");
-      statement.execute("CREATE TIMESERIES OF SCHEMA TEMPLATE ON root.sg1.d2");
-      statement.execute("CREATE TIMESERIES OF SCHEMA TEMPLATE ON root.sg1.d3");
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d1");
+      statement.execute("SET DEVICE TEMPLATE t2 TO root.sg1.d2");
+      statement.execute("SET DEVICE TEMPLATE t3 TO root.sg1.d3");
+      // create timeseries of device template
+      statement.execute("CREATE TIMESERIES OF DEVICE TEMPLATE ON root.sg1.d1");
+      statement.execute("CREATE TIMESERIES OF DEVICE TEMPLATE ON root.sg1.d2");
+      statement.execute("CREATE TIMESERIES OF DEVICE TEMPLATE ON root.sg1.d3");
       // count
       Set<String> expectedResult =
           new HashSet<>(Arrays.asList("root.sg1.d1,2", "root.sg1.d2,2", 
"root.sg1.d3,1"));
@@ -807,8 +807,8 @@ public class IoTDBSchemaTemplateIT extends AbstractSchemaIT 
{
   public void testAlterTemplateTimeseries() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET SCHEMA TEMPLATE t1 TO root.sg1.d1;");
-      statement.execute("CREATE TIMESERIES OF SCHEMA TEMPLATE ON 
root.sg1.d1;");
+      statement.execute("SET DEVICE TEMPLATE t1 TO root.sg1.d1;");
+      statement.execute("CREATE TIMESERIES OF DEVICE TEMPLATE ON 
root.sg1.d1;");
       try {
         statement.execute(
             "ALTER timeseries root.sg1.d1.s1 UPSERT tags(s0_tag1=s0_tag1, 
s0_tag2=s0_tag2) attributes(s0_attr1=s0_attr1, s0_attr2=s0_attr2);");
@@ -817,7 +817,7 @@ public class IoTDBSchemaTemplateIT extends AbstractSchemaIT 
{
         Assert.assertTrue(
             e.getMessage()
                 .contains(
-                    "Cannot alter template timeseries [root.sg1.d1.s1] since 
schema template [t1] already set on path [root.sg1.d1]"));
+                    "Cannot alter template timeseries [root.sg1.d1.s1] since 
device template [t1] already set on path [root.sg1.d1]"));
       }
       try {
         statement.execute("ALTER timeseries root.sg1.d1.s1 UPSERT 
ALIAS=s0Alias;");
@@ -826,7 +826,7 @@ public class IoTDBSchemaTemplateIT extends AbstractSchemaIT 
{
         Assert.assertTrue(
             e.getMessage()
                 .contains(
-                    "Cannot alter template timeseries [root.sg1.d1.s1] since 
schema template [t1] already set on path [root.sg1.d1]"));
+                    "Cannot alter template timeseries [root.sg1.d1.s1] since 
device template [t1] already set on path [root.sg1.d1]"));
       }
     }
   }
@@ -835,20 +835,20 @@ public class IoTDBSchemaTemplateIT extends 
AbstractSchemaIT {
   public void testActivateAndDropEmptyTemplate() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("CREATE SCHEMA TEMPLATE e_t;");
-      statement.execute("SET SCHEMA TEMPLATE e_t TO root.sg1.t.d1;");
+      statement.execute("CREATE DEVICE TEMPLATE e_t;");
+      statement.execute("SET DEVICE TEMPLATE e_t TO root.sg1.t.d1;");
       statement.execute("insert into root.sg1.t.d2(timestamp,s1) 
values(now(),false);");
-      statement.execute("CREATE TIMESERIES OF SCHEMA TEMPLATE ON 
root.sg1.t.d1;");
-      try (ResultSet resultSet = statement.executeQuery("show nodes in schema 
template e_t")) {
+      statement.execute("CREATE TIMESERIES OF DEVICE TEMPLATE ON 
root.sg1.t.d1;");
+      try (ResultSet resultSet = statement.executeQuery("show nodes in device 
template e_t")) {
         Assert.assertFalse(resultSet.next());
       }
-      try (ResultSet resultSet = statement.executeQuery("show paths set schema 
template e_t")) {
+      try (ResultSet resultSet = statement.executeQuery("show paths set device 
template e_t")) {
         Assert.assertTrue(resultSet.next());
         Assert.assertFalse(resultSet.next());
       }
-      statement.execute("DEACTIVATE SCHEMA TEMPLATE FROM root.sg1.t.d1;");
-      statement.execute("UNSET SCHEMA TEMPLATE e_t FROM root.sg1.t.d1;");
-      try (ResultSet resultSet = statement.executeQuery("show paths set schema 
template e_t")) {
+      statement.execute("DEACTIVATE DEVICE TEMPLATE FROM root.sg1.t.d1;");
+      statement.execute("UNSET DEVICE TEMPLATE e_t FROM root.sg1.t.d1;");
+      try (ResultSet resultSet = statement.executeQuery("show paths set device 
template e_t")) {
         Assert.assertFalse(resultSet.next());
       }
     }
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/util/AbstractSchemaIT.java 
b/integration-test/src/test/java/org/apache/iotdb/util/AbstractSchemaIT.java
index 434f3b8207e..deefd0cccc9 100644
--- a/integration-test/src/test/java/org/apache/iotdb/util/AbstractSchemaIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/util/AbstractSchemaIT.java
@@ -94,10 +94,10 @@ public abstract class AbstractSchemaIT {
         // If database is null, it will throw exception. Do nothing.
       }
       // delete all template
-      try (ResultSet resultSet = statement.executeQuery("SHOW SCHEMA 
TEMPLATES")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW DEVICE 
TEMPLATES")) {
         while (resultSet.next()) {
           statement.execute(
-              "DROP SCHEMA TEMPLATE " + 
resultSet.getString(ColumnHeaderConstant.TEMPLATE_NAME));
+              "DROP DEVICE TEMPLATE " + 
resultSet.getString(ColumnHeaderConstant.TEMPLATE_NAME));
         }
       }
     }
diff --git a/iotdb-client/client-cpp/src/main/Session.cpp 
b/iotdb-client/client-cpp/src/main/Session.cpp
index fa9ef10b13b..9468f20dc68 100644
--- a/iotdb-client/client-cpp/src/main/Session.cpp
+++ b/iotdb-client/client-cpp/src/main/Session.cpp
@@ -2282,7 +2282,7 @@ std::vector<std::string> 
Session::showMeasurementsInTemplate(const string &templ
 
 bool Session::checkTemplateExists(const string& template_name) {
     try {
-        std::unique_ptr<SessionDataSet> dataset = executeQueryStatement("SHOW 
NODES IN SCHEMA TEMPLATE " + template_name);
+        std::unique_ptr<SessionDataSet> dataset = executeQueryStatement("SHOW 
NODES IN DEVICE TEMPLATE " + template_name);
         bool isExisted = dataset->hasNext();
         dataset->closeOperationHandle();
         return isExisted;
diff --git a/iotdb-client/client-py/README.md b/iotdb-client/client-py/README.md
index dcb6bdcca17..cc23ebff2a3 100644
--- a/iotdb-client/client-py/README.md
+++ b/iotdb-client/client-py/README.md
@@ -312,12 +312,12 @@ session.execute_non_query_statement(sql)
 session.execute_statement(sql)
 ```
 
-### Schema Template
-#### Create Schema Template
+### Device Template
+#### Create Device Template
 The step for creating a metadata template is as follows
 1. Create the template class
 2. Adding child Node,InternalNode and MeasurementNode can be chose
-3. Execute create schema template function
+3. Execute create device template function
 
 ```python
 template = Template(name=template_name, share_time=True)
@@ -335,7 +335,7 @@ template.add_template(m_node_x)
 
 session.create_schema_template(template)
 ```
-#### Modify Schema Template nodes
+#### Modify Device Template nodes
 Modify nodes in a template, the template must be already created. These are 
functions that add or delete some measurement nodes.
 * add node in template
 ```python
@@ -347,18 +347,18 @@ session.add_measurements_in_template(template_name, 
measurements_path, data_type
 session.delete_node_in_template(template_name, path)
 ```
 
-#### Set Schema Template
+#### Set Device Template
 ```python
 session.set_schema_template(template_name, prefix_path)
 ```
 
-#### Uset Schema Template
+#### Uset Device Template
 ```python
 session.unset_schema_template(template_name, prefix_path)
 ```
 
-#### Show Schema Template
-* Show all schema templates
+#### Show Device Template
+* Show all device templates
 ```python
 session.show_all_templates()
 ```
@@ -377,22 +377,22 @@ session.count_measurements_in_template(template_name, 
path)
 session.is_path_exist_in_template(template_name, path)
 ```
 
-* Show nodes under in schema template
+* Show nodes under in device template
 ```python
 session.show_measurements_in_template(template_name)
 ```
 
-* Show the path prefix where a schema template is set
+* Show the path prefix where a device template is set
 ```python
 session.show_paths_template_set_on(template_name)
 ```
 
-* Show the path prefix where a schema template is used (i.e. the time series 
has been created)
+* Show the path prefix where a device template is used (i.e. the time series 
has been created)
 ```python
 session.show_paths_template_using_on(template_name)
 ```
 
-#### Drop Schema Template
+#### Drop Device Template
 Delete an existing metadata template,dropping an already set template is not 
supported
 ```python
 session.drop_schema_template("template_python")
diff --git a/iotdb-client/client-py/iotdb/Session.py 
b/iotdb-client/client-py/iotdb/Session.py
index af4ead9dd52..0a3bf41b224 100644
--- a/iotdb-client/client-py/iotdb/Session.py
+++ b/iotdb-client/client-py/iotdb/Session.py
@@ -1811,7 +1811,7 @@ class Session(object):
 
     def create_schema_template(self, template: Template):
         """
-        create schema template, users using this method should use the 
template class as an argument
+        create device template, users using this method should use the 
template class as an argument
         :param template: The template contains multiple child node(see 
Template.py)
         """
         bytes_array = template.serialize
@@ -1834,7 +1834,7 @@ class Session(object):
 
     def drop_schema_template(self, template_name: str):
         """
-        drop schema template, this method should be used to the template unset 
anything
+        drop device template, this method should be used to the template unset 
anything
         :param template_name: template name
         """
         request = TSDropSchemaTemplateReq(self.__session_id, template_name)
@@ -1938,7 +1938,7 @@ class Session(object):
 
     def unset_schema_template(self, template_name, prefix_path):
         """
-        unset schema template from prefix path, this method unsetting the 
template from entities,
+        unset device template from prefix path, this method unsetting the 
template from entities,
         which have already inserted records using the template, is not 
supported.
         :param template_name: template name
         :param prefix_path:
@@ -1962,7 +1962,7 @@ class Session(object):
 
     def count_measurements_in_template(self, template_name: str):
         """
-        drop schema template, this method should be used to the template unset 
anything
+        drop device template, this method should be used to the template unset 
anything
         :param template_name: template name
         """
         request = TSQueryTemplateReq(
@@ -2068,7 +2068,7 @@ class Session(object):
 
     def show_all_templates(self):
         """
-        show all schema templates
+        show all device templates
         """
         request = TSQueryTemplateReq(
             self.__session_id,
@@ -2093,7 +2093,7 @@ class Session(object):
 
     def show_paths_template_set_on(self, template_name):
         """
-        show the path prefix where a schema template is set
+        show the path prefix where a device template is set
         :param template_name:
         """
         request = TSQueryTemplateReq(
@@ -2117,7 +2117,7 @@ class Session(object):
 
     def show_paths_template_using_on(self, template_name):
         """
-        show the path prefix where a schema template is used
+        show the path prefix where a device template is used
         :param template_name:
         """
         request = TSQueryTemplateReq(
diff --git a/iotdb-client/client-py/iotdb/template/TemplateNode.py 
b/iotdb-client/client-py/iotdb/template/TemplateNode.py
index 6bab445394d..1ba0003d1fa 100644
--- a/iotdb-client/client-py/iotdb/template/TemplateNode.py
+++ b/iotdb-client/client-py/iotdb/template/TemplateNode.py
@@ -19,7 +19,7 @@
 
 class TemplateNode(object):
     """
-    Template class, this class should be used to schema template node
+    Template class, this class should be used to device template node
     """
 
     def __init__(self, name):
diff --git a/iotdb-client/client-py/tests/test_template.py 
b/iotdb-client/client-py/tests/test_template.py
index 93cfca40cf7..1b58bcdee1b 100644
--- a/iotdb-client/client-py/tests/test_template.py
+++ b/iotdb-client/client-py/tests/test_template.py
@@ -93,7 +93,7 @@ def test_set_template():
 
         session.set_schema_template(template_name, "root.python.GPS")
         session.execute_non_query_statement(
-            "create timeseries of schema template on root.python.GPS"
+            "create timeseries of device template on root.python.GPS"
         )
 
         assert session.show_paths_template_set_on(template_name) == 
["root.python.GPS"]
@@ -102,7 +102,7 @@ def test_set_template():
         ]
 
         session.execute_non_query_statement(
-            "delete timeseries of schema template from root.python.GPS"
+            "delete timeseries of device template from root.python.GPS"
         )
 
         session.unset_schema_template(template_name, "root.python.GPS")
diff --git 
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/Session.java 
b/iotdb-client/session/src/main/java/org/apache/iotdb/session/Session.java
index 360898cccad..54f6d718101 100644
--- a/iotdb-client/session/src/main/java/org/apache/iotdb/session/Session.java
+++ b/iotdb-client/session/src/main/java/org/apache/iotdb/session/Session.java
@@ -3033,7 +3033,7 @@ public class Session implements ISession {
     if (len != dataTypes.size() || len != encodings.size() || len != 
compressors.size()) {
       throw new StatementExecutionException(
           "Different length of measurements, datatypes, encodings "
-              + "or compressors when create schema tempalte.");
+              + "or compressors when create device template.");
     }
     for (int idx = 0; idx < measurements.size(); idx++) {
       MeasurementNode mNode =
@@ -3325,7 +3325,7 @@ public class Session implements ISession {
   }
 
   /**
-   * Create timeseries represented by schema template under given device paths.
+   * Create timeseries represented by device template under given device paths.
    *
    * @param devicePathList the target device paths used for timeseries creation
    */
diff --git 
a/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 
b/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
index 54639753145..dc4235e4013 100644
--- 
a/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
+++ 
b/iotdb-core/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
@@ -41,7 +41,7 @@ ddlStatement
     // Timeseries & Path
     | createTimeseries | dropTimeseries | alterTimeseries
     | showDevices | showTimeseries | showChildPaths | showChildNodes | 
countDevices | countTimeseries | countNodes
-    // Schema Template
+    // Device Template
     | createSchemaTemplate | createTimeseriesUsingSchemaTemplate | 
dropSchemaTemplate | dropTimeseriesOfSchemaTemplate
     | showSchemaTemplates | showNodesInSchemaTemplate | 
showPathsUsingSchemaTemplate | showPathsSetSchemaTemplate
     | setSchemaTemplate | unsetSchemaTemplate
@@ -241,10 +241,10 @@ tagContainsExpression
     ;
 
 
-// Schema Template 
==================================================================================
-// ---- Create Schema Template
+// Device Template 
==================================================================================
+// ---- Create Device Template
 createSchemaTemplate
-    : CREATE SCHEMA TEMPLATE templateName=identifier
+    : CREATE (SCHEMA | DEVICE) TEMPLATE templateName=identifier
     ALIGNED? (LR_BRACKET templateMeasurementClause (COMMA 
templateMeasurementClause)* RR_BRACKET)?
     ;
 
@@ -252,53 +252,53 @@ templateMeasurementClause
     : nodeNameWithoutWildcard attributeClauses
     ;
 
-// ---- Create Timeseries Of Schema Template
+// ---- Create Timeseries Of Device Template
 createTimeseriesUsingSchemaTemplate
-    : CREATE TIMESERIES (OF | USING) SCHEMA TEMPLATE ON prefixPath
+    : CREATE TIMESERIES (OF | USING) (SCHEMA | DEVICE) TEMPLATE ON prefixPath
     ;
 
-// ---- Drop Schema Template
+// ---- Drop Device Template
 dropSchemaTemplate
-    : DROP SCHEMA TEMPLATE templateName=identifier
+    : DROP (SCHEMA | DEVICE) TEMPLATE templateName=identifier
     ;
 
-// ---- Drop Timeseries of Schema Template
+// ---- Drop Timeseries of Device Template
 dropTimeseriesOfSchemaTemplate
-    : ((DELETE | DROP) TIMESERIES OF | DEACTIVATE) SCHEMA TEMPLATE 
(templateName=identifier) ? FROM prefixPath (COMMA prefixPath)*
+    : ((DELETE | DROP) TIMESERIES OF | DEACTIVATE) (SCHEMA | DEVICE) TEMPLATE 
(templateName=identifier) ? FROM prefixPath (COMMA prefixPath)*
     ;
 
-// ---- Show Schema Template
+// ---- Show Device Template
 showSchemaTemplates
-    : SHOW SCHEMA TEMPLATES
+    : SHOW (SCHEMA | DEVICE) TEMPLATES
     ;
 
-// ---- Show Measurements In Schema Template
+// ---- Show Measurements In Device Template
 showNodesInSchemaTemplate
-    : SHOW NODES operator_in SCHEMA TEMPLATE templateName=identifier
+    : SHOW NODES operator_in (SCHEMA | DEVICE) TEMPLATE templateName=identifier
     ;
 
-// ---- Show Paths Set Schema Template
+// ---- Show Paths Set Device Template
 showPathsSetSchemaTemplate
-    : SHOW PATHS SET SCHEMA TEMPLATE templateName=identifier
+    : SHOW PATHS SET (SCHEMA | DEVICE) TEMPLATE templateName=identifier
     ;
 
-// ---- Show Paths Using Schema Template
+// ---- Show Paths Using Device Template
 showPathsUsingSchemaTemplate
-    : SHOW PATHS prefixPath? USING SCHEMA TEMPLATE templateName=identifier
+    : SHOW PATHS prefixPath? USING (SCHEMA | DEVICE) TEMPLATE 
templateName=identifier
     ;
 
-// ---- Set Schema Template
+// ---- Set Device Template
 setSchemaTemplate
-    : SET SCHEMA TEMPLATE templateName=identifier TO prefixPath
+    : SET (SCHEMA | DEVICE) TEMPLATE templateName=identifier TO prefixPath
     ;
 
-// ---- Unset Schema Template
+// ---- Unset Device Template
 unsetSchemaTemplate
-    : UNSET SCHEMA TEMPLATE templateName=identifier FROM prefixPath
+    : UNSET (SCHEMA | DEVICE) TEMPLATE templateName=identifier FROM prefixPath
     ;
 
 alterSchemaTemplate
-    : ALTER SCHEMA TEMPLATE templateName=identifier ADD LR_BRACKET 
templateMeasurementClause (COMMA templateMeasurementClause)* RR_BRACKET
+    : ALTER (SCHEMA | DEVICE) TEMPLATE templateName=identifier ADD LR_BRACKET 
templateMeasurementClause (COMMA templateMeasurementClause)* RR_BRACKET
     ;
 
 
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
index 7f4a5e3546c..511f2f9a65c 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
@@ -1578,7 +1578,7 @@ public class ConfigManager implements IManager {
       return RpcUtils.getStatus(
           TSStatusCode.TEMPLATE_NOT_SET,
           String.format(
-              "Schema Template %s is not set on any prefix path of %s",
+              "Device Template %s is not set on any prefix path of %s",
               req.getTemplateName(), patternList));
     }
 
@@ -1597,7 +1597,7 @@ public class ConfigManager implements IManager {
         return RpcUtils.getStatus(
             TSStatusCode.TEMPLATE_NOT_SET,
             String.format(
-                "Schema Template %s is not set on any prefix path of %s",
+                "Device Template %s is not set on any prefix path of %s",
                 req.getTemplateName(), patternList));
       }
 
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeactivateTemplateProcedure.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeactivateTemplateProcedure.java
index 63c74fa4c8c..e47d5008d02 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeactivateTemplateProcedure.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeactivateTemplateProcedure.java
@@ -103,7 +103,7 @@ public class DeactivateTemplateProcedure
             setFailure(
                 new ProcedureException(
                     new IoTDBException(
-                        "Target schema Template is not activated on any path 
matched by given path pattern",
+                        "Target Device Template is not activated on any path 
matched by given path pattern",
                         TSStatusCode.TEMPLATE_NOT_ACTIVATED.getStatusCode())));
             return Flow.NO_MORE_STATE;
           }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/statemachine/schemaregion/SchemaExecutionVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/statemachine/schemaregion/SchemaExecutionVisitor.java
index a8a78953998..904863ddcc6 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/statemachine/schemaregion/SchemaExecutionVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/statemachine/schemaregion/SchemaExecutionVisitor.java
@@ -366,7 +366,7 @@ public class SchemaExecutionVisitor extends 
PlanVisitor<TSStatus, ISchemaRegion>
       } catch (TemplateIsInUseException e) {
         logger.info(
             String.format(
-                "Schema template has already been activated on path %s, 
there's no need to activate again.",
+                "Device Template has already been activated on path %s, 
there's no need to activate again.",
                 entry.getKey()));
       } catch (MetadataException e) {
         logger.error(e.getMessage(), e);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/PathNotExistException.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/PathNotExistException.java
index 056157763fc..e04ccd0f1e9 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/PathNotExistException.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/PathNotExistException.java
@@ -31,10 +31,10 @@ public class PathNotExistException extends 
MetadataException {
       "The source path [%s] of view [%s] does not exist.";
 
   private static final String NORMAL_TIMESERIES_NOT_EXIST_WRONG_MESSAGE =
-      "Timeseries [%s] does not exist or is represented by schema template";
+      "Timeseries [%s] does not exist or is represented by device template";
 
   private static final String TEMPLATE_TIMESERIES_NOT_EXIST_WRONG_MESSAGE =
-      "Timeseries [%s] does not exist or is not represented by schema 
template";
+      "Timeseries [%s] does not exist or is not represented by device 
template";
 
   public PathNotExistException(String sourcePath, String viewPath) {
     super(
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/template/TemplateIncompatibleException.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/template/TemplateIncompatibleException.java
index 0f3dcfc7caf..bb1d0c1a997 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/template/TemplateIncompatibleException.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/template/TemplateIncompatibleException.java
@@ -30,7 +30,7 @@ public class TemplateIncompatibleException extends 
MetadataException {
       String path, String templateName, PartialPath templateSetPath) {
     super(
         String.format(
-            "Cannot create timeseries [%s] since schema template [%s] already 
set on path [%s].",
+            "Cannot create timeseries [%s] since device template [%s] already 
set on path [%s].",
             path, templateName, templateSetPath),
         TSStatusCode.TEMPLATE_INCOMPATIBLE.getStatusCode());
     this.isUserException = true;
@@ -39,7 +39,7 @@ public class TemplateIncompatibleException extends 
MetadataException {
   public TemplateIncompatibleException(String templateName, PartialPath 
templateSetPath) {
     super(
         String.format(
-            "Cannot set schema template [%s] to path [%s] "
+            "Cannot set device template [%s] to path [%s] "
                 + "since there's timeseries under path [%s].",
             templateName, templateSetPath, templateSetPath),
         TSStatusCode.TEMPLATE_INCOMPATIBLE.getStatusCode());
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
index 94db836be4a..1847624a3ed 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
@@ -2175,7 +2175,7 @@ public class ClientRPCServiceImpl implements 
IClientRPCServiceWithHandler {
       CreateSchemaTemplateStatement statement = 
StatementGenerator.createStatement(req);
 
       if (ENABLE_AUDIT_LOG) {
-        AuditLogger.log(String.format("create schema template %s", 
req.getName()), statement);
+        AuditLogger.log(String.format("create device template %s", 
req.getName()), statement);
       }
       // permission check
       TSStatus status = AuthorityChecker.checkAuthority(statement, 
clientSession);
@@ -2354,7 +2354,7 @@ public class ClientRPCServiceImpl implements 
IClientRPCServiceWithHandler {
 
       if (ENABLE_AUDIT_LOG) {
         AuditLogger.log(
-            String.format("set schema template %s.%s", req.getTemplateName(), 
req.getPrefixPath()),
+            String.format("set device template %s.%s", req.getTemplateName(), 
req.getPrefixPath()),
             statement);
       }
 
@@ -2402,7 +2402,7 @@ public class ClientRPCServiceImpl implements 
IClientRPCServiceWithHandler {
       if (ENABLE_AUDIT_LOG) {
         AuditLogger.log(
             String.format(
-                "unset schema template %s from %s", req.getTemplateName(), 
req.getPrefixPath()),
+                "unset device template %s from %s", req.getTemplateName(), 
req.getPrefixPath()),
             statement);
       }
 
@@ -2448,7 +2448,7 @@ public class ClientRPCServiceImpl implements 
IClientRPCServiceWithHandler {
       DropSchemaTemplateStatement statement = 
StatementGenerator.createStatement(req);
 
       if (ENABLE_AUDIT_LOG) {
-        AuditLogger.log(String.format("drop schema template %s", 
req.getTemplateName()), statement);
+        AuditLogger.log(String.format("drop device template %s", 
req.getTemplateName()), statement);
       }
 
       // permission check
@@ -2492,7 +2492,7 @@ public class ClientRPCServiceImpl implements 
IClientRPCServiceWithHandler {
 
       if (ENABLE_AUDIT_LOG) {
         AuditLogger.log(
-            String.format("batch activate schema template %s", 
req.getDevicePathList()), statement);
+            String.format("batch activate device template %s", 
req.getDevicePathList()), statement);
       }
 
       // permission check
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/header/ColumnHeaderConstant.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/header/ColumnHeaderConstant.java
index 93a1635f3a5..6d90140312f 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/header/ColumnHeaderConstant.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/header/ColumnHeaderConstant.java
@@ -141,7 +141,7 @@ public class ColumnHeaderConstant {
   public static final String SCHEMA_REGION_NUM = "SchemaRegionNum";
   public static final String DATA_REGION_NUM = "DataRegionNum";
 
-  // column names for show schema template statement
+  // column names for show device template statement
   public static final String TEMPLATE_NAME = "TemplateName";
 
   // column names for show pipe sink
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
index 7e6aead2b63..6b47b26ad0e 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
@@ -2450,7 +2450,7 @@ public class AnalyzeVisitor extends 
StatementVisitor<Analysis, MPPQueryContext>
       throw new RuntimeException(
           new TemplateIncompatibleException(
               String.format(
-                  "Cannot alter template timeseries [%s] since schema template 
[%s] already set on path [%s].",
+                  "Cannot alter template timeseries [%s] since device template 
[%s] already set on path [%s].",
                   alterTimeSeriesStatement.getPath().getFullPath(),
                   templateInfo.left.getName(),
                   templateInfo.right)));
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
index e10cb01bd7d..66db56300e6 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
@@ -1277,7 +1277,7 @@ public class ClusterConfigTaskExecutor implements 
IConfigTaskExecutor {
       // Get response or throw exception
       if (TSStatusCode.SUCCESS_STATUS.getStatusCode() != tsStatus.getCode()) {
         LOGGER.warn(
-            "Failed to execute create schema template {} in config node, 
status is {}.",
+            "Failed to execute create device template {} in config node, 
status is {}.",
             createSchemaTemplateStatement.getName(),
             tsStatus);
         future.setException(new IoTDBException(tsStatus.getMessage(), 
tsStatus.getCode()));
@@ -1390,7 +1390,7 @@ public class ClusterConfigTaskExecutor implements 
IConfigTaskExecutor {
 
       if (TSStatusCode.SUCCESS_STATUS.getStatusCode() != tsStatus.getCode()) {
         LOGGER.warn(
-            "Failed to execute deactivate schema template {} from {} in config 
node, status is {}.",
+            "Failed to execute deactivate device template {} from {} in config 
node, status is {}.",
             deactivateTemplateStatement.getTemplateName(),
             deactivateTemplateStatement.getPathPatternList(),
             tsStatus);
@@ -1416,7 +1416,7 @@ public class ClusterConfigTaskExecutor implements 
IConfigTaskExecutor {
       // Get response or throw exception
       if (TSStatusCode.SUCCESS_STATUS.getStatusCode() != tsStatus.getCode()) {
         LOGGER.warn(
-            "Failed to execute drop schema template {} in config node, status 
is {}.",
+            "Failed to execute drop device template {} in config node, status 
is {}.",
             dropSchemaTemplateStatement.getTemplateName(),
             tsStatus);
         future.setException(new IoTDBException(tsStatus.message, 
tsStatus.code));
@@ -1445,7 +1445,7 @@ public class ClusterConfigTaskExecutor implements 
IConfigTaskExecutor {
         future.setException(
             new MetadataException(
                 String.format(
-                    "Duplicated measurement [%s] in schema template alter 
request",
+                    "Duplicated measurement [%s] in device template alter 
request",
                     duplicateMeasurement)));
         return future;
       }
@@ -1477,7 +1477,7 @@ public class ClusterConfigTaskExecutor implements 
IConfigTaskExecutor {
 
       if (TSStatusCode.SUCCESS_STATUS.getStatusCode() != tsStatus.getCode()) {
         LOGGER.warn(
-            "Failed to alter schema template {} in config node, status is {}.",
+            "Failed to alter device template {} in config node, status is {}.",
             
alterSchemaTemplateStatement.getTemplateAlterInfo().getTemplateName(),
             tsStatus);
         future.setException(new IoTDBException(tsStatus.getMessage(), 
tsStatus.getCode()));
@@ -1534,7 +1534,7 @@ public class ClusterConfigTaskExecutor implements 
IConfigTaskExecutor {
 
       if (TSStatusCode.SUCCESS_STATUS.getStatusCode() != tsStatus.getCode()) {
         LOGGER.warn(
-            "Failed to execute unset schema template {} from {} in config 
node, status is {}.",
+            "Failed to execute unset device template {} from {} in config 
node, status is {}.",
             unsetSchemaTemplateStatement.getTemplateName(),
             unsetSchemaTemplateStatement.getPath(),
             tsStatus);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
index 2f329b628b1..b2ef0fd8ea3 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
@@ -3327,7 +3327,7 @@ public class ASTVisitor extends 
IoTDBSqlParserBaseVisitor<Statement> {
     return new ShowConfigNodesStatement();
   }
 
-  // schema template
+  // device template
 
   @Override
   public Statement 
visitCreateSchemaTemplate(IoTDBSqlParser.CreateSchemaTemplateContext ctx) {
@@ -3413,7 +3413,7 @@ public class ASTVisitor extends 
IoTDBSqlParserBaseVisitor<Statement> {
       List<TSEncoding> encodings,
       List<CompressionType> compressors) {
     if (ctx.aliasNodeName() != null) {
-      throw new SemanticException("Schema template: alias is not supported 
yet.");
+      throw new SemanticException("Device Template: alias is not supported 
yet.");
     }
 
     TSDataType dataType = parseDataTypeAttribute(ctx);
@@ -3470,15 +3470,15 @@ public class ASTVisitor extends 
IoTDBSqlParserBaseVisitor<Statement> {
     }
 
     if (props.size() > 0) {
-      throw new SemanticException("Schema template: property is not supported 
yet.");
+      throw new SemanticException("Device Template: property is not supported 
yet.");
     }
 
     if (ctx.tagClause() != null) {
-      throw new SemanticException("Schema template: tag is not supported 
yet.");
+      throw new SemanticException("Device Template: tag is not supported 
yet.");
     }
 
     if (ctx.attributeClause() != null) {
-      throw new SemanticException("Schema template: attribute is not supported 
yet.");
+      throw new SemanticException("Device Template: attribute is not supported 
yet.");
     }
   }
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/template/ClusterTemplateManager.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/template/ClusterTemplateManager.java
index d82172c816b..2fd2e28eb6d 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/template/ClusterTemplateManager.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/template/ClusterTemplateManager.java
@@ -117,7 +117,7 @@ public class ClusterTemplateManager implements 
ITemplateManager {
       // Get response or throw exception
       if (TSStatusCode.SUCCESS_STATUS.getStatusCode() != tsStatus.getCode()) {
         LOGGER.error(
-            "Failed to execute create schema template {} in config node, 
status is {}.",
+            "Failed to execute create device template {} in config node, 
status is {}.",
             statement.getName(),
             tsStatus);
       }
@@ -229,7 +229,7 @@ public class ClusterTemplateManager implements 
ITemplateManager {
 
       if (TSStatusCode.SUCCESS_STATUS.getStatusCode() != tsStatus.getCode()) {
         LOGGER.warn(
-            "Failed to execute set schema template {} on path {} in config 
node, status is {}.",
+            "Failed to execute set device template {} on path {} in config 
node, status is {}.",
             name,
             path,
             tsStatus);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/template/ITemplateManager.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/template/ITemplateManager.java
index f2bf7e6d673..f38e3712534 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/template/ITemplateManager.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/template/ITemplateManager.java
@@ -32,18 +32,18 @@ import java.util.Map;
 public interface ITemplateManager {
 
   /**
-   * Create schema template by sending request to ConfigNode.
+   * Create device template by sending request to ConfigNode.
    *
    * @param statement CreateSchemaTemplateStatement
    * @return TSStatus
    */
   TSStatus createSchemaTemplate(CreateSchemaTemplateStatement statement);
 
-  /** Show schema templates. */
+  /** Show device templates. */
   List<Template> getAllTemplates();
 
   /**
-   * show nodes in schema template xx
+   * show nodes in device template xx
    *
    * @param name template name
    * @return Template
diff --git a/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift 
b/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift
index 3fb9632a2d6..cfdb46967a7 100644
--- a/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift
+++ b/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift
@@ -1273,42 +1273,42 @@ service IConfigNodeRPCService {
   // ======================================================
 
   /**
-   * Create schema template
+   * Create device template
    */
   common.TSStatus createSchemaTemplate(TCreateSchemaTemplateReq req)
 
   /**
-   * Get all schema template info and template set info for DataNode 
registeration
+   * Get all device template info and template set info for DataNode 
registeration
    */
   TGetAllTemplatesResp getAllTemplates()
 
   /**
-   * Get one schema template info
+   * Get one device template info
    */
   TGetTemplateResp getTemplate(string req)
 
   /**
-   * Set given schema template to given path
+   * Set given device template to given path
    */
   common.TSStatus setSchemaTemplate(TSetSchemaTemplateReq req)
 
   /**
-   * Get paths setting given schema template
+   * Get paths setting given device template
    */
   TGetPathsSetTemplatesResp getPathsSetTemplate(TGetPathsSetTemplatesReq req)
 
   /**
-   * Deactivate schema template from paths matched by given pattern tree in 
cluster
+   * Deactivate device template from paths matched by given pattern tree in 
cluster
    */
   common.TSStatus deactivateSchemaTemplate(TDeactivateSchemaTemplateReq req)
 
   /**
-   * Unset schema template from given path
+   * Unset device template from given path
    */
   common.TSStatus unsetSchemaTemplate(TUnsetSchemaTemplateReq req)
 
   /**
-   * Drop schema template
+   * Drop device template
    */
   common.TSStatus dropSchemaTemplate(string req)
 


Reply via email to