Commit 4c7bf03
committed
Fix string concat incompatibility from UTF-8 charset on literals
The previous fix added UTF-8 charset only to string literals in
visitLiteral(), leaving column VARCHAR types with no charset. Calcite
then rejected string concatenation (e.g. 'Hello ' + firstname) with:
VARCHAR CHARACTER SET "UTF-8" NOT NULL is not comparable to VARCHAR
Fix: move the UTF-8 + IMPLICIT collation enforcement into
OpenSearchTypeFactory.createSqlType() for VARCHAR/CHAR so both column
types and literal types carry the same charset consistently.
visitLiteral() reverts to plain createSqlType() calls since the factory
now handles encoding globally.
Signed-off-by: Radhakrishnan Pachyappan <gingeekrishna@gmail.com>1 parent 2afb328 commit 4c7bf03
2 files changed
Lines changed: 20 additions & 16 deletions
File tree
- core/src/main/java/org/opensearch/sql/calcite
- utils
Lines changed: 5 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
16 | 15 | | |
17 | 16 | | |
18 | 17 | | |
| |||
32 | 31 | | |
33 | 32 | | |
34 | 33 | | |
35 | | - | |
36 | 34 | | |
37 | 35 | | |
38 | 36 | | |
| |||
133 | 131 | | |
134 | 132 | | |
135 | 133 | | |
136 | | - | |
137 | | - | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
138 | 137 | | |
139 | 138 | | |
140 | 139 | | |
141 | 140 | | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
| 141 | + | |
147 | 142 | | |
148 | 143 | | |
149 | 144 | | |
150 | 145 | | |
151 | 146 | | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | | - | |
| 147 | + | |
158 | 148 | | |
159 | 149 | | |
160 | 150 | | |
| |||
Lines changed: 15 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| |||
104 | 105 | | |
105 | 106 | | |
106 | 107 | | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
107 | 117 | | |
108 | | - | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
109 | 123 | | |
110 | 124 | | |
111 | 125 | | |
| |||
0 commit comments