@@ -2273,6 +2273,59 @@ public void testMultiDeviceCompletelyDeleteTable() throws SQLException {
22732273 cleanData (testNum );
22742274 }
22752275
2276+ @ Test
2277+ public void testDeleteDataByTag () throws IoTDBConnectionException , StatementExecutionException {
2278+ try (ITableSession session = EnvFactory .getEnv ().getTableSessionConnectionWithDB ("test" )) {
2279+ session .executeNonQueryStatement (
2280+ "CREATE TABLE IF NOT EXISTS delete_by_tag (deviceId STRING TAG, s1 INT32 FIELD)" );
2281+
2282+ session .executeNonQueryStatement (
2283+ "insert into delete_by_tag (time, deviceId, s1) values (1, 'sensor', 1)" );
2284+ session .executeNonQueryStatement (
2285+ "insert into delete_by_tag (time, deviceId, s1) values (2, 'sensor', 2)" );
2286+ session .executeNonQueryStatement (
2287+ "insert into delete_by_tag (time, deviceId, s1) values (3, 'sensor', 3)" );
2288+ session .executeNonQueryStatement (
2289+ "insert into delete_by_tag (time, deviceId, s1) values (4, 'sensor', 4)" );
2290+
2291+ session .executeNonQueryStatement ("DELETE FROM delete_by_tag WHERE deviceId = 'sensor'" );
2292+
2293+ SessionDataSet dataSet =
2294+ session .executeQueryStatement ("select * from delete_by_tag order by time" );
2295+ assertFalse (dataSet .hasNext ());
2296+
2297+ session .executeNonQueryStatement (
2298+ "insert into delete_by_tag (time, deviceId, s1) values (1, 'sensor', 1)" );
2299+ session .executeNonQueryStatement (
2300+ "insert into delete_by_tag (time, deviceId, s1) values (2, 'sensor', 2)" );
2301+ session .executeNonQueryStatement (
2302+ "insert into delete_by_tag (time, deviceId, s1) values (3, 'sensor', 3)" );
2303+ session .executeNonQueryStatement (
2304+ "insert into delete_by_tag (time, deviceId, s1) values (4, 'sensor', 4)" );
2305+ session .executeNonQueryStatement ("FLUSH" );
2306+
2307+ session .executeNonQueryStatement ("DELETE FROM delete_by_tag WHERE deviceId = 'sensor'" );
2308+
2309+ dataSet = session .executeQueryStatement ("select * from delete_by_tag order by time" );
2310+
2311+ RowRecord rec ;
2312+ int cnt = 0 ;
2313+ for (int i = 1 ; i < 5 ; i ++) {
2314+ rec = dataSet .next ();
2315+ assertEquals (i , rec .getFields ().get (0 ).getLongV ());
2316+ Assert .assertEquals (i , rec .getFields ().get (2 ).getIntV ());
2317+ Assert .assertEquals (TSDataType .INT32 , rec .getFields ().get (2 ).getDataType ());
2318+ cnt ++;
2319+ }
2320+ Assert .assertEquals (4 , cnt );
2321+ assertFalse (dataSet .hasNext ());
2322+ } finally {
2323+ try (ITableSession session = EnvFactory .getEnv ().getTableSessionConnectionWithDB ("test" )) {
2324+ session .executeNonQueryStatement ("DROP TABLE IF EXISTS delete_by_tag" );
2325+ }
2326+ }
2327+ }
2328+
22762329 @ Test
22772330 public void testDropAndAlter () throws IoTDBConnectionException , StatementExecutionException {
22782331 try (ITableSession session = EnvFactory .getEnv ().getTableSessionConnectionWithDB ("test" )) {
@@ -2366,6 +2419,13 @@ public void testDropAndAlter() throws IoTDBConnectionException, StatementExecuti
23662419 for (int i = 1 ; i < 7 ; i ++) {
23672420 rec = dataSet .next ();
23682421 assertEquals (i , rec .getFields ().get (0 ).getLongV ());
2422+ LOGGER .error (
2423+ "time is {}, value is {}, value type is {}" ,
2424+ rec .getFields ().get (0 ).getLongV (),
2425+ rec .getFields ().get (1 ),
2426+ rec .getFields ().get (1 ).getDataType ());
2427+ // assertNull(rec.getFields().get(1).getDataType());
2428+ // Assert.assertEquals(TSDataType.TEXT, rec.getFields().get(1).getDataType());
23692429 cnt ++;
23702430 }
23712431 Assert .assertEquals (6 , cnt );
0 commit comments