Sometimes the dict is not initialized when run comparison predicate here, for example, the full page is null, then the reader will skip read, so that the dictionary is not inited. The cached code is wrong during this case, because the following page maybe not null, and the dict should have items in the future. This will result the dict string column query return wrong result, if there are many null values in the column. I also add some regression test for dict column's equal query, larger than query, less than query. --------- Co-authored-by: yiguolei <yiguolei@gmail.com>
113 lines
763 B
Plaintext
113 lines
763 B
Plaintext
-- This file is automatically generated. You should know what you did if you want to edit this
|
|
-- !sql1 --
|
|
101 abc
|
|
|
|
-- !sql2 --
|
|
101 abc
|
|
|
|
-- !sql3 --
|
|
101 abc
|
|
|
|
-- !sql4 --
|
|
100 \N
|
|
99 \N
|
|
98 \N
|
|
97 \N
|
|
96 \N
|
|
95 \N
|
|
94 \N
|
|
93 \N
|
|
92 \N
|
|
91 \N
|
|
90 \N
|
|
89 \N
|
|
88 \N
|
|
87 \N
|
|
86 \N
|
|
85 \N
|
|
84 \N
|
|
83 \N
|
|
82 \N
|
|
81 \N
|
|
80 \N
|
|
79 \N
|
|
78 \N
|
|
77 \N
|
|
76 \N
|
|
75 \N
|
|
74 \N
|
|
73 \N
|
|
72 \N
|
|
71 \N
|
|
70 \N
|
|
69 \N
|
|
68 \N
|
|
67 \N
|
|
66 \N
|
|
65 \N
|
|
64 \N
|
|
63 \N
|
|
62 \N
|
|
61 \N
|
|
60 \N
|
|
59 \N
|
|
58 \N
|
|
57 \N
|
|
56 \N
|
|
55 \N
|
|
54 \N
|
|
53 \N
|
|
52 \N
|
|
51 \N
|
|
50 \N
|
|
49 \N
|
|
48 \N
|
|
47 \N
|
|
46 \N
|
|
45 \N
|
|
44 \N
|
|
43 \N
|
|
42 \N
|
|
41 \N
|
|
40 \N
|
|
39 \N
|
|
38 \N
|
|
37 \N
|
|
36 \N
|
|
35 \N
|
|
34 \N
|
|
33 \N
|
|
32 \N
|
|
31 \N
|
|
30 \N
|
|
29 \N
|
|
28 \N
|
|
27 \N
|
|
26 \N
|
|
25 \N
|
|
24 \N
|
|
23 \N
|
|
22 \N
|
|
21 \N
|
|
20 \N
|
|
19 \N
|
|
18 \N
|
|
17 \N
|
|
16 \N
|
|
15 \N
|
|
14 \N
|
|
13 \N
|
|
12 \N
|
|
11 \N
|
|
10 \N
|
|
9 \N
|
|
8 \N
|
|
7 \N
|
|
6 \N
|
|
5 \N
|
|
4 \N
|
|
3 \N
|
|
2 \N
|
|
1 \N
|
|
|