stb_subtable_value=f'concat(concat("{self.stb_name}_{self.subtable_prefix}", cast(cast(abs(cast({subtable} as int)) as bigint) as varchar(100))), "{self.subtable_suffix}")'ifself.subtableelseNone
self.tdCom.create_stream(stream_name=f'{self.stb_name}{self.tdCom.stream_suffix}',des_table=self.tdCom.ext_stb_stream_des_table,subtable_value=stb_subtable_value,source_sql=f'select _wstart AS wstart, {partitial_tb_source_str} from {self.stb_name} interval({self.tdCom.dataDict["interval"]}s)',trigger_mode="max_delay",watermark=watermark_value,max_delay=max_delay_value,fill_value=fill_value,fill_history_value=fill_history_value,stb_field_name_value=stb_field_name_value,tag_value=tag_value,use_exist_stb=use_exist_stb)
tdSql.query(f'select {tag_value} from {self.stb_name}')
tag_value_list=tdSql.queryResult
ifnotfill_value:
self.tdCom.check_query_data(f'select {self.tdCom.stb_filter_des_select_elm} from ext_{self.stb_name}{self.tdCom.des_table_suffix} order by ts;',f'select _wstart AS wstart, {self.tdCom.stb_source_select_str} from {self.stb_name} interval({self.tdCom.dataDict["interval"]}s)',defined_tag_count=defined_tag_count,tag_value_list=tag_value_list,partition=partition)
stb_subtable_value=f'concat(concat("{self.stb_name}_{self.tdCom.subtable_prefix}", cast(cast(abs(cast({partition_elm_alias} as int)) as bigint) as varchar(100))), "{self.tdCom.subtable_suffix}")'ifself.tdCom.subtableelseNone
ctb_subtable_value=f'concat(concat("{self.ctb_name}_{self.tdCom.subtable_prefix}", cast(cast(abs(cast({partition_elm_alias} as int)) as bigint) as varchar(100))), "{self.tdCom.subtable_suffix}")'ifself.tdCom.subtableelseNone
tb_subtable_value=f'concat(concat("{self.tb_name}_{self.tdCom.subtable_prefix}", cast(cast(abs(cast({partition_elm_alias} as int)) as bigint) as varchar(100))), "{self.tdCom.subtable_suffix}")'ifself.tdCom.subtableelseNone
ifpartition:
partition_elm=f'partition by {partition}{partition_elm_alias}'
else:
partition_elm=""
self.tdCom.create_stream(stream_name=f'{self.stb_name}{self.tdCom.stream_suffix}',des_table=self.stb_stream_des_table,source_sql=f'select _wstart AS wstart, {self.tdCom.stb_source_select_str} from {self.stb_name}{partition_elm} interval({self.tdCom.dataDict["interval"]}s)',trigger_mode="at_once",subtable_value=stb_subtable_value,fill_history_value=fill_history_value)
self.tdCom.create_stream(stream_name=f'{self.ctb_name}{self.tdCom.stream_suffix}',des_table=self.tdCom.ctb_stream_des_table,source_sql=f'select _wstart AS wstart, {self.tdCom.stb_source_select_str} from {self.ctb_name}{partition_elm} interval({self.tdCom.dataDict["interval"]}s)',trigger_mode="at_once",subtable_value=ctb_subtable_value,fill_history_value=fill_history_value)
self.tdCom.create_stream(stream_name=f'{self.tb_name}{self.tdCom.stream_suffix}',des_table=self.tdCom.tb_stream_des_table,source_sql=f'select _wstart AS wstart, {self.tdCom.tb_source_select_str} from {self.tb_name}{partition_elm} interval({self.tdCom.dataDict["interval"]}s)',trigger_mode="at_once",subtable_value=tb_subtable_value,fill_history_value=fill_history_value)
self.tdCom.check_query_data(f'select wstart, {self.tdCom.stb_output_select_str} from {tbname}{self.tdCom.des_table_suffix} order by wstart',f'select _wstart AS wstart, {self.tdCom.stb_source_select_str} from {tbname}{partition_elm} interval({self.tdCom.dataDict["interval"]}s) order by wstart',sorted=True,reverse_check=reverse_check)
else:
self.tdCom.check_query_data(f'select wstart, {self.tdCom.tb_output_select_str} from {tbname}{self.tdCom.des_table_suffix} order by wstart',f'select _wstart AS wstart, {self.tdCom.tb_source_select_str} from {tbname}{partition_elm} interval({self.tdCom.dataDict["interval"]}s) order by wstart',sorted=True,reverse_check=reverse_check)
ifself.tdCom.subtable:
fortnamein[self.stb_name,self.ctb_name]:
tdSql.query(f'select * from {self.ctb_name}')
ptn_counter=0
forc1_valueintdSql.queryResult:
ifpartition=="c1":
tdSql.query(f'select count(*) from `{tname}_{self.tdCom.subtable_prefix}{abs(c1_value[1])}{self.tdCom.subtable_suffix}`;')
elifpartitionisNone:
tdSql.query(f'select count(*) from `{tname}_{self.tdCom.subtable_prefix}no_partition{self.tdCom.subtable_suffix}`;')
elifpartition=="abs(c1)":
abs_c1_value=abs(c1_value[1])
tdSql.query(f'select count(*) from `{tname}_{self.tdCom.subtable_prefix}{abs_c1_value}{self.tdCom.subtable_suffix}`;')
elifpartition=="tbname"andptn_counter==0:
tdSql.query(f'select count(*) from `{tname}_{self.tdCom.subtable_prefix}{self.ctb_name}{self.tdCom.subtable_suffix}`;')
ptn_counter+=1
tdSql.checkEqual(tdSql.queryResult[0][0]>0,True)
tdSql.query(f'select * from {self.tb_name}')
ptn_counter=0
forc1_valueintdSql.queryResult:
ifpartition=="c1":
tdSql.query(f'select count(*) from `{self.tb_name}_{self.tdCom.subtable_prefix}{abs(c1_value[1])}{self.tdCom.subtable_suffix}`;')
elifpartitionisNone:
tdSql.query(f'select count(*) from `{self.tb_name}_{self.tdCom.subtable_prefix}no_partition{self.tdCom.subtable_suffix}`;')
elifpartition=="abs(c1)":
abs_c1_value=abs(c1_value[1])
tdSql.query(f'select count(*) from `{self.tb_name}_{self.tdCom.subtable_prefix}{abs_c1_value}{self.tdCom.subtable_suffix}`;')
elifpartition=="tbname"andptn_counter==0:
tdSql.query(f'select count(*) from `{self.tb_name}_{self.tdCom.subtable_prefix}{self.tb_name}{self.tdCom.subtable_suffix}`;')
tdSql.query(f'select {tag_value} from {self.stb_name}')
tag_value_list=tdSql.queryResult
self.tdCom.check_query_data(f'select {self.tdCom.stb_filter_des_select_elm} from ext_{self.stb_name}{self.tdCom.des_table_suffix} order by ts',f'select _wstart AS wstart, {self.tdCom.stb_source_select_str} from {self.stb_name} session(ts, {self.tdCom.dataDict["session"]}s) order by wstart limit {expected_value};',sorted=True,defined_tag_count=defined_tag_count,tag_value_list=tag_value_list,partition=partition)