Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
v1.5.3
-
None
-
None
Description
reported from dev mail list "Question abount BuildInFunctionTransformer"
Sorry for the wrong description and thanks for the explaination.
I have another question on this.
Case1
select merchant_name,dt_day,count
from session_view_shop_0
where merchant_name like '%深海新创手机%'
and dt_year='2016'
and dt_month='07'
and dt_day >='25'
and dt_day <='28'
group by merchant_name,dt_day
2016-08-05 09:25:06,263 INFO [http-bio-7070-exec-10] dict.BuildInFunctionTransformer:66 : Translated
{LIKE(KYLIN_REPORT_DB.SESSION_ VIEW_SHOP_0.MERCHANT_NAME,%深海新创手机%)}to IN clause:
{KYLIN_REPORT_DB.SESSION_VIEW_SHOP_0.MERCHANT_NAME IN []}Result1
深海新创手机专营店80002972 28 6360
深海新创手机专营店80002972 27 5501
深海新创手机专营店80002972 26 4830
Case 2
select merchant_name,dt_day,count
from session_view_shop_0
where merchant_name like '%深海新创%'
and dt_year='2016'
and dt_month='07'
and dt_day >='25'
and dt_day <='28'
group by merchant_name,dt_day
2016-08-05 09:37:55,469 INFO [http-bio-7070-exec-15] dict.BuildInFunctionTransformer:66 : Translated
{LIKE(KYLIN_REPORT_DB.SESSION_ VIEW_SHOP_0.MERCHANT_NAME,%深海新创%)}to IN clause:
{KYLIN_REPORT_DB.SESSION_VIEW_SHOP_0.MERCHANT_NAME IN [深海新创专营店80002972]}Result2
深海新创专营店80002972 25 5283
’深海新创手机专营店80002972’ is expected in result2 , as it exists which case1 shows.
CubeStorageQuery.search/ CubeSegmentScanner
when filter is translated for the first segment, filter is changed to
CompareTupleFilter(IN clause)
translate will not triger for the next segments.
this is not right because dictionary is not same for every segments.
assume data like this:
merchant_name cube segment
深海新创专营 20160725
深海新创手机 20160726
when search with like '%深海新创%'
CubeSegmentScanner scan segment '20160725' , and filter is changed to in
clause( IN '深海新创专营')
result is right for this segment ,but not for the next segments because
filter now has been changed.