# wt.execSql("use db") # should always be in place
# create stream
'''
CREATE STREAM avg_vol_s INTO avg_vol AS SELECT _wstartts, count(*), avg(voltage) FROM meters PARTITION BY tbname INTERVAL(1m) SLIDING(30s);
'''
stbname=sTable.getName()
sub_tables=sTable.getRegTables(wt.getDbConn())
ifsub_tables:
ifsub_tables:# if not empty
sub_tbname=sub_tables[0]
# create stream with query above sub_table
stream_sql='create stream {} into {}.{} as select count(*), avg(speed) FROM {}.{} PARTITION BY tbname INTERVAL(5s) SLIDING(3s) '.format(sub_stream_name,dbname,sub_stream_tb_name,dbname,sub_tbname)
try:
self.execWtSql(wt,stream_sql)
excepttaos.error.ProgrammingErroraserr:
errno=Helper.convertErrno(err.errno)
iferrnoin[0x03f0]:# stream already exists
# stream need drop before drop table
pass
sTable.setStreamName(sub_stream_name)
else:
pass
else:
stream_sql='create stream {} into {}.{} as select count(*), avg(speed) FROM {}.{} PARTITION BY tbname INTERVAL(5s) SLIDING(3s) '.format(super_stream_name,dbname,super_stream_tb_name,dbname,stbname)