@Test
  public void testAliasInAlterClause() {
    String[] alias = {
      "b", "test", "`test.1`", "`1``1`", "'test'", "\"test\"", "`\\\\test`",
    };

    String[] res = {
      "b", "test", "`test.1`", "`1``1`", "test", "test", "`\\\\test`",
    };
    try (Connection connection = EnvFactory.getEnv().getConnection();
        Statement statement = connection.createStatement()) {
      statement.execute(
          "create timeseries root.sg.a "
              + "with datatype=INT64, encoding=PLAIN, compression=SNAPPY ");

      String alterSql = "ALTER timeseries root.sg.a UPSERT alias = %s";
      for (int i = 0; i < alias.length; i++) {
        statement.execute(String.format(alterSql, alias[i]));
        try (ResultSet resultSet = statement.executeQuery("show timeseries")) {
          resultSet.next();
          Assert.assertEquals(res[i], resultSet.getString(ColumnHeaderConstant.ALIAS));
        }
      }

      try {
        statement.execute("ALTER timeseries root.sg.a UPSERT alias = test.a");
        fail();
      } catch (Exception ignored) {
      }

    } catch (SQLException e) {
      e.printStackTrace();
      fail();
    }
  }
LOAD/REMOVE/SETTLE use STRING_LITERAL to represent file path legal cases are in
IoTDBLoadExternalTsfileIT
integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionStringLiteralIT.java