vitess.io/vitess@v0.16.2/go/vt/vtgate/planbuilder/testdata/unsupported_cases.json (about) 1 [ 2 { 3 "comment": "union operations in subqueries (expressions)", 4 "query": "select * from user where id in (select * from user union select * from user_extra)", 5 "plan": "VT12001: unsupported: '*' expression in cross-shard query" 6 }, 7 { 8 "comment": "TODO: Implement support for select with a target destination", 9 "query": "select * from `user[-]`.user_metadata", 10 "plan": "VT12001: unsupported: SELECT with a target destination" 11 }, 12 { 13 "comment": "Unsupported INSERT statement with a target destination", 14 "query": "insert into `user[-]`.user_metadata (a, b) values (1,2)", 15 "plan": "VT12001: unsupported: INSERT with a target destination" 16 }, 17 { 18 "comment": "Unsupported delete statement with a replica target destination", 19 "query": "DELETE FROM `user[-]@replica`.user_metadata limit 1", 20 "plan": "VT09002: delete statement with a replica target" 21 }, 22 { 23 "comment": "Unsupported update statement with a replica target destination", 24 "query": "update `user[-]@replica`.user_metadata set id=2", 25 "plan": "VT09002: update statement with a replica target" 26 }, 27 { 28 "comment": "scatter order by with * expression", 29 "query": "select * from user order by id", 30 "v3-plan": "VT12001: unsupported: in scatter query: ORDER BY must reference a column in the SELECT list: id asc", 31 "gen4-plan": "VT12001: unsupported: '*' expression in cross-shard query" 32 }, 33 { 34 "comment": "order by rand on a cross-shard subquery", 35 "query": "select id from (select user.id, user.col from user join user_extra) as t order by rand()", 36 "v3-plan": "VT12001: unsupported: memory sort: complex ORDER BY expression: rand()", 37 "gen4-plan": "VT13001: [BUG] in scatter query: complex ORDER BY expression: rand()" 38 }, 39 { 40 "comment": "natural join", 41 "query": "select * from user natural join user_extra", 42 "plan": "VT12001: unsupported: natural join" 43 }, 44 { 45 "comment": "join with USING construct", 46 "query": "select * from user join user_extra using(id)", 47 "v3-plan": "VT12001: unsupported: JOIN with USING(column_list) clause for complex queries", 48 "gen4-plan": "can't handle JOIN USING without authoritative tables" 49 }, 50 { 51 "comment": "join with USING construct with 3 tables", 52 "query": "select user.id from user join user_extra using(id) join music using(id2)", 53 "v3-plan": "VT12001: unsupported: JOIN with USING(column_list) clause for complex queries", 54 "gen4-plan": "can't handle JOIN USING without authoritative tables" 55 }, 56 { 57 "comment": "natural left join", 58 "query": "select * from user natural left join user_extra", 59 "plan": "VT12001: unsupported: natural left join" 60 }, 61 { 62 "comment": "natural right join", 63 "query": "select * from user natural right join user_extra", 64 "plan": "VT12001: unsupported: natural right join" 65 }, 66 { 67 "comment": "* expresson not allowed for cross-shard joins", 68 "query": "select * from user join user_extra", 69 "plan": "VT12001: unsupported: '*' expression in cross-shard query" 70 }, 71 { 72 "comment": "Group by column number, used with non-aliased expression (duplicated code)", 73 "query": "select * from user group by 1", 74 "v3-plan": "VT12001: unsupported: '*' expression in cross-shard query", 75 "gen4-plan": "cannot use column offsets in group statement when using `*`" 76 }, 77 { 78 "comment": "complex group by expression", 79 "query": "select a from user group by a+1", 80 "v3-plan": "VT12001: unsupported: in scatter query: only simple references are allowed", 81 "gen4-plan": "VT13001: [BUG] in scatter query: complex ORDER BY expression: a + 1" 82 }, 83 { 84 "comment": "Complex aggregate expression on scatter", 85 "query": "select 1+count(*) from user", 86 "plan": "VT12001: unsupported: in scatter query: complex aggregate expression" 87 }, 88 { 89 "comment": "Multi-value aggregates not supported", 90 "query": "select count(a,b) from user", 91 "v3-plan": "VT12001: unsupported: only one expression is allowed inside aggregates: count(a, b)", 92 "gen4-plan": "VT03001: aggregate functions take a single argument 'count(a, b)'" 93 }, 94 { 95 "comment": "scatter aggregate complex order by", 96 "query": "select id from user group by id order by id+1", 97 "v3-plan": "VT12001: unsupported: in scatter query: complex ORDER BY expression: id + 1", 98 "gen4-plan": "VT13001: [BUG] in scatter query: complex ORDER BY expression: id + 1" 99 }, 100 { 101 "comment": "Scatter order by is complex with aggregates in select", 102 "query": "select col, count(*) from user group by col order by col+1", 103 "v3-plan": "VT12001: unsupported: in scatter query: complex ORDER BY expression: col + 1", 104 "gen4-plan": "VT13001: [BUG] in scatter query: complex ORDER BY expression: col + 1" 105 }, 106 { 107 "comment": "Aggregate detection (group_concat)", 108 "query": "select group_concat(user.a) from user join user_extra", 109 "v3-plan": "VT12001: unsupported: cross-shard query with aggregates", 110 "gen4-plan": "VT12001: unsupported: in scatter query: aggregation function 'group_concat'" 111 }, 112 { 113 "comment": "subqueries not supported in group by", 114 "query": "select id from user group by id, (select id from user_extra)", 115 "v3-plan": "VT12001: unsupported: subqueries disallowed in sqlparser.GroupBy", 116 "gen4-plan": "VT12001: unsupported: subqueries in GROUP BY" 117 }, 118 { 119 "comment": "Order by uses cross-shard expression", 120 "query": "select id from user order by id+1", 121 "v3-plan": "VT12001: unsupported: in scatter query: complex ORDER BY expression: id + 1", 122 "gen4-plan": "VT13001: [BUG] in scatter query: complex ORDER BY expression: id + 1" 123 }, 124 { 125 "comment": "Order by column number with collate", 126 "query": "select user.col1 as a from user order by 1 collate utf8_general_ci", 127 "v3-plan": "VT12001: unsupported: in scatter query: complex ORDER BY expression: 1 collate utf8_general_ci", 128 "gen4-plan": "VT13001: [BUG] in scatter query: complex ORDER BY expression: a collate utf8_general_ci" 129 }, 130 { 131 "comment": "subqueries in delete", 132 "query": "delete from user where col = (select id from unsharded)", 133 "v3-plan": "VT12001: unsupported: sharded subqueries in DML", 134 "gen4-plan": "VT12001: unsupported: subqueries in DML" 135 }, 136 { 137 "comment": "sharded subqueries in unsharded delete", 138 "query": "delete from unsharded where col = (select id from user)", 139 "v3-plan": "VT12001: unsupported: sharded subqueries in DML", 140 "gen4-plan": "VT12001: unsupported: subqueries in DML" 141 }, 142 { 143 "comment": "sharded delete with limit clasue", 144 "query": "delete from user_extra limit 10", 145 "v3-plan": "VT12001: unsupported: multi-shard delete with LIMIT", 146 "gen4-plan": "VT12001: unsupported: multi shard DELETE with LIMIT" 147 }, 148 { 149 "comment": "sharded subquery in unsharded subquery in unsharded delete", 150 "query": "delete from unsharded where col = (select id from unsharded where id = (select id from user))", 151 "v3-plan": "VT12001: unsupported: sharded subqueries in DML", 152 "gen4-plan": "VT12001: unsupported: subqueries in DML" 153 }, 154 { 155 "comment": "sharded join unsharded subqueries in unsharded delete", 156 "query": "delete from unsharded where col = (select id from unsharded join user on unsharded.id = user.id)", 157 "v3-plan": "VT12001: unsupported: sharded subqueries in DML", 158 "gen4-plan": "VT12001: unsupported: subqueries in DML" 159 }, 160 { 161 "comment": "scatter update with limit clause", 162 "query": "update user_extra set val = 1 where (name = 'foo' or id = 1) limit 1", 163 "v3-plan": "VT12001: unsupported: multi-shard update with LIMIT", 164 "gen4-plan": "VT12001: unsupported: multi shard UPDATE with LIMIT" 165 }, 166 { 167 "comment": "multi delete multi table", 168 "query": "delete user from user join user_extra on user.id = user_extra.id where user.name = 'foo'", 169 "plan": "VT12001: unsupported: multi-shard or vindex write statement" 170 }, 171 { 172 "comment": "update changes primary vindex column", 173 "query": "update user set id = 1 where id = 1", 174 "v3-plan": "VT12001: unsupported: you cannot update primary vindex columns; invalid update on vindex: user_index", 175 "gen4-plan": "VT12001: unsupported: you cannot UPDATE primary vindex columns; invalid update on vindex: user_index" 176 }, 177 { 178 "comment": "update change in multicol vindex column", 179 "query": "update multicol_tbl set colc = 5, colb = 4 where cola = 1 and colb = 2", 180 "v3-plan": "VT12001: unsupported: you cannot update primary vindex columns; invalid update on vindex: multicolIdx", 181 "gen4-plan": "VT12001: unsupported: you cannot UPDATE primary vindex columns; invalid update on vindex: multicolIdx" 182 }, 183 { 184 "comment": "update changes non lookup vindex column", 185 "query": "update user_metadata set md5 = 1 where user_id = 1", 186 "v3-plan": "VT12001: unsupported: you can only update lookup vindexes; invalid update on vindex: user_md5_index", 187 "gen4-plan": "VT12001: unsupported: you can only UPDATE lookup vindexes; invalid update on vindex: user_md5_index" 188 }, 189 { 190 "comment": "update with complex set clause", 191 "query": "update music set id = id + 1 where id = 1", 192 "v3-plan": "VT12001: unsupported: only values are supported: invalid update on column: `id` with expr: [id + 1]", 193 "gen4-plan": "VT12001: unsupported: only values are supported; invalid update on column: `id` with expr: [id + 1]" 194 }, 195 { 196 "comment": "update by primary keyspace id, changing one vindex column, limit without order clause", 197 "query": "update user_metadata set email = 'juan@vitess.io' where user_id = 1 limit 10", 198 "v3-plan": "VT12001: unsupported: need to provide ORDER BY clause when using LIMIT; invalid update on vindex: email_user_map", 199 "gen4-plan": "VT12001: unsupported: you need to provide the ORDER BY clause when using LIMIT; invalid update on vindex: email_user_map" 200 }, 201 { 202 "comment": "update with derived table", 203 "query": "update (select id from user) as u set id = 4", 204 "v3-plan": "VT12001: unsupported: sharded subqueries in DML", 205 "gen4-plan": "The target table u of the UPDATE is not updatable" 206 }, 207 { 208 "comment": "join in update tables", 209 "query": "update user join user_extra on user.id = user_extra.id set user.name = 'foo'", 210 "v3-plan": "VT12001: unsupported: multi-shard or vindex write statement", 211 "gen4-plan": "VT12001: unsupported: multiple tables in update" 212 }, 213 { 214 "comment": "multiple tables in update", 215 "query": "update user as u, user_extra as ue set u.name = 'foo' where u.id = ue.id", 216 "v3-plan": "VT12001: unsupported: multi-shard or vindex write statement", 217 "gen4-plan": "VT12001: unsupported: multiple tables in update" 218 }, 219 { 220 "comment": "unsharded insert, unqualified names and auto-inc combined", 221 "query": "insert into unsharded_auto select col from unsharded", 222 "plan": "VT12001: unsupported: auto-increment and SELECT in INSERT" 223 }, 224 { 225 "comment": "unsharded insert, no col list with auto-inc", 226 "query": "insert into unsharded_auto values(1,1)", 227 "plan": "VT13001: [BUG] column list required for tables with auto-inc columns" 228 }, 229 { 230 "comment": "unsharded insert, col list does not match values", 231 "query": "insert into unsharded_auto(id, val) values(1)", 232 "plan": "VT13001: [BUG] column list does not match values" 233 }, 234 { 235 "comment": "sharded upsert can't change vindex", 236 "query": "insert into user(id) values(1) on duplicate key update id = 3", 237 "plan": "VT12001: unsupported: DML cannot update vindex column" 238 }, 239 { 240 "comment": "sharded upsert can't change vindex using values function", 241 "query": "insert into music(user_id, id) values(1, 2) on duplicate key update user_id = values(id)", 242 "plan": "VT12001: unsupported: DML cannot update vindex column" 243 }, 244 { 245 "comment": "sharded replace no vindex", 246 "query": "replace into user(val) values(1, 'foo')", 247 "plan": "VT12001: unsupported: REPLACE INTO with sharded keyspace" 248 }, 249 { 250 "comment": "sharded replace with vindex", 251 "query": "replace into user(id, name) values(1, 'foo')", 252 "plan": "VT12001: unsupported: REPLACE INTO with sharded keyspace" 253 }, 254 { 255 "comment": "replace no column list", 256 "query": "replace into user values(1, 2, 3)", 257 "plan": "VT12001: unsupported: REPLACE INTO with sharded keyspace" 258 }, 259 { 260 "comment": "replace with mimatched column list", 261 "query": "replace into user(id) values (1, 2)", 262 "plan": "VT12001: unsupported: REPLACE INTO with sharded keyspace" 263 }, 264 { 265 "comment": "replace with one vindex", 266 "query": "replace into user(id) values (1)", 267 "plan": "VT12001: unsupported: REPLACE INTO with sharded keyspace" 268 }, 269 { 270 "comment": "replace with non vindex on vindex-enabled table", 271 "query": "replace into user(nonid) values (2)", 272 "plan": "VT12001: unsupported: REPLACE INTO with sharded keyspace" 273 }, 274 { 275 "comment": "replace with all vindexes supplied", 276 "query": "replace into user(nonid, name, id) values (2, 'foo', 1)", 277 "plan": "VT12001: unsupported: REPLACE INTO with sharded keyspace" 278 }, 279 { 280 "comment": "replace for non-vindex autoinc", 281 "query": "replace into user_extra(nonid) values (2)", 282 "plan": "VT12001: unsupported: REPLACE INTO with sharded keyspace" 283 }, 284 { 285 "comment": "replace with multiple rows", 286 "query": "replace into user(id) values (1), (2)", 287 "plan": "VT12001: unsupported: REPLACE INTO with sharded keyspace" 288 }, 289 { 290 "comment": "select keyspace_id from user_index where id = 1 and id = 2", 291 "query": "select keyspace_id from user_index where id = 1 and id = 2", 292 "plan": "VT12001: unsupported: WHERE clause for vindex function must be of the form id = <val> or id in(<val>,...) (multiple filters)" 293 }, 294 { 295 "comment": "select keyspace_id from user_index where func(id)", 296 "query": "select keyspace_id from user_index where func(id)", 297 "plan": "VT12001: unsupported: WHERE clause for vindex function must be of the form id = <val> or id in(<val>,...) (not a comparison)" 298 }, 299 { 300 "comment": "select keyspace_id from user_index where id > 1", 301 "query": "select keyspace_id from user_index where id > 1", 302 "plan": "VT12001: unsupported: WHERE clause for vindex function must be of the form id = <val> or id in(<val>,...) (not equality)" 303 }, 304 { 305 "comment": "select keyspace_id from user_index where 1 = id", 306 "query": "select keyspace_id from user_index where 1 = id", 307 "plan": "VT12001: unsupported: WHERE clause for vindex function must be of the form id = <val> or id in(<val>,...) (lhs is not a column)" 308 }, 309 { 310 "comment": "select keyspace_id from user_index where keyspace_id = 1", 311 "query": "select keyspace_id from user_index where keyspace_id = 1", 312 "plan": "VT12001: unsupported: WHERE clause for vindex function must be of the form id = <val> or id in(<val>,...) (lhs is not id)" 313 }, 314 { 315 "comment": "select keyspace_id from user_index where id = id+1", 316 "query": "select keyspace_id from user_index where id = id+1", 317 "plan": "VT12001: unsupported: WHERE clause for vindex function must be of the form id = <val> or id in(<val>,...) (rhs is not a value)" 318 }, 319 { 320 "comment": "vindex func without where condition", 321 "query": "select keyspace_id from user_index", 322 "plan": "VT12001: unsupported: WHERE clause for vindex function must be of the form id = <val> or id in(<val>,...) (where clause missing)" 323 }, 324 { 325 "comment": "vindex func in subquery without where", 326 "query": "select id from user where exists(select keyspace_id from user_index)", 327 "plan": "VT12001: unsupported: WHERE clause for vindex function must be of the form id = <val> or id in(<val>,...) (where clause missing)" 328 }, 329 { 330 "comment": "select func(keyspace_id) from user_index where id = :id", 331 "query": "select func(keyspace_id) from user_index where id = :id", 332 "plan": "VT12001: unsupported: expression on results of a vindex function" 333 }, 334 { 335 "comment": "delete with multi-table targets", 336 "query": "delete music,user from music inner join user where music.id = user.id", 337 "plan": "VT12001: unsupported: multi-shard or vindex write statement" 338 }, 339 { 340 "comment": "select get_lock with non-dual table", 341 "query": "select get_lock('xyz', 10) from user", 342 "v3-plan": "VT12001: unsupported: get_lock('xyz', 10) is allowed only with dual", 343 "gen4-plan": "get_lock('xyz', 10) allowed only with dual" 344 }, 345 { 346 "comment": "select is_free_lock with non-dual table", 347 "query": "select is_free_lock('xyz') from user", 348 "v3-plan": "VT12001: unsupported: is_free_lock('xyz') is allowed only with dual", 349 "gen4-plan": "is_free_lock('xyz') allowed only with dual" 350 }, 351 { 352 "comment": "union with SQL_CALC_FOUND_ROWS", 353 "query": "(select sql_calc_found_rows id from user where id = 1 limit 1) union select id from user where id = 1", 354 "v3-plan": "VT12001: unsupported: SQL_CALC_FOUND_ROWS not supported with UNION", 355 "gen4-plan": "VT12001: unsupported: SQL_CALC_FOUND_ROWS not supported with union" 356 }, 357 { 358 "comment": "set with DEFAULT - vitess aware", 359 "query": "set workload = default", 360 "plan": "VT12001: unsupported: DEFAULT for @@workload" 361 }, 362 { 363 "comment": "set with DEFAULT - reserved connection", 364 "query": "set sql_mode = default", 365 "plan": "VT12001: unsupported: DEFAULT for @@%s%!(EXTRA sqlparser.IdentifierCI=sql_mode)" 366 }, 367 { 368 "comment": "Multi shard query using into outfile s3", 369 "query": "select * from user into outfile s3 'out_file_name'", 370 "plan": "VT12001: unsupported: INTO on sharded keyspace" 371 }, 372 { 373 "comment": "create view with Cannot auto-resolve for cross-shard joins", 374 "query": "create view user.view_a as select col from user join user_extra", 375 "v3-plan": "VT03019: symbol col not found", 376 "gen4-plan": "Column 'col' in field list is ambiguous" 377 }, 378 { 379 "comment": "create view with join that cannot be served in each shard separately", 380 "query": "create view user.view_a as select user_extra.id from user join user_extra", 381 "plan": "VT12001: unsupported: Complex select queries are not supported in create or alter view statements" 382 }, 383 { 384 "comment": "create view with sharded limit", 385 "query": "create view user.view_a as select id from user order by id limit 10", 386 "plan": "VT12001: unsupported: Complex select queries are not supported in create or alter view statements" 387 }, 388 { 389 "comment": "create view with top level subquery in select", 390 "query": "create view user.view_a as select a, (select col from user) from unsharded", 391 "plan": "VT12001: unsupported: Select query does not belong to the same keyspace as the view statement" 392 }, 393 { 394 "comment": "create view with sql_calc_found_rows with limit", 395 "query": "create view user.view_a as select sql_calc_found_rows * from music limit 100", 396 "plan": "VT12001: unsupported: Complex select queries are not supported in create or alter view statements" 397 }, 398 { 399 "comment": "create view with sql_calc_found_rows with group by and having", 400 "query": "create view user.view_a as select sql_calc_found_rows user_id, count(id) from music group by user_id having count(user_id) = 1 order by user_id limit 2", 401 "plan": "VT12001: unsupported: Complex select queries are not supported in create or alter view statements" 402 }, 403 { 404 "comment": "create view with incompatible keyspaces", 405 "query": "create view main.view_a as select * from user.user_extra", 406 "plan": "VT12001: unsupported: Select query does not belong to the same keyspace as the view statement" 407 }, 408 { 409 "comment": "avg function on scatter query", 410 "query": "select avg(id) from user", 411 "v3-plan": "VT12001: unsupported: in scatter query: complex aggregate expression", 412 "gen4-plan": "VT12001: unsupported: in scatter query: aggregation function 'avg'" 413 }, 414 { 415 "comment": "scatter aggregate with ambiguous aliases", 416 "query": "select distinct a, b as a from user", 417 "v3-plan": "generating ORDER BY clause: VT03021: ambiguous symbol reference: a", 418 "gen4-plan": "VT13001: [BUG] generating ORDER BY clause: ambiguous symbol reference: a" 419 }, 420 { 421 "comment": "outer and inner subquery route reference the same \"uu.id\" name\n# but they refer to different things. The first reference is to the outermost query,\n# and the second reference is to the innermost 'from' subquery.\n# This query will never work as the inner derived table is only selecting one of the column", 422 "query": "select id2 from user uu where id in (select id from user where id = uu.id and user.col in (select col from (select id from user_extra where user_id = 5) uu where uu.user_id = uu.id))", 423 "plan": "VT12001: unsupported: cross-shard correlated subquery" 424 }, 425 { 426 "comment": "outer and inner subquery route reference the same \"uu.id\" name\n# but they refer to different things. The first reference is to the outermost query,\n# and the second reference is to the innermost 'from' subquery.\n# changed to project all the columns from the derived tables.", 427 "query": "select id2 from user uu where id in (select id from user where id = uu.id and user.col in (select col from (select col, id, user_id from user_extra where user_id = 5) uu where uu.user_id = uu.id))", 428 "plan": "VT12001: unsupported: cross-shard correlated subquery" 429 }, 430 { 431 "comment": "Gen4 does a rewrite of 'order by 2' that becomes 'order by id', leading to ambiguous binding.", 432 "query": "select a.id, b.id from user as a, user_extra as b union select 1, 2 order by 2", 433 "v3-plan": "VT12001: unsupported: ORDER BY on top of UNION", 434 "gen4-plan": "Column 'id' in field list is ambiguous" 435 }, 436 { 437 "comment": "unsupported with clause in delete statement", 438 "query": "with x as (select * from user) delete from x", 439 "plan": "VT12001: unsupported: WITH expression in DELETE statement" 440 }, 441 { 442 "comment": "unsupported with clause in update statement", 443 "query": "with x as (select * from user) update x set name = 'f'", 444 "plan": "VT12001: unsupported: WITH expression in UPDATE statement" 445 }, 446 { 447 "comment": "unsupported with clause in select statement", 448 "query": "with x as (select * from user) select * from x", 449 "plan": "VT12001: unsupported: WITH expression in SELECT statement" 450 }, 451 { 452 "comment": "unsupported with clause in union statement", 453 "query": "with x as (select * from user) select * from x union select * from x", 454 "plan": "VT12001: unsupported: WITH expression in UNION statement" 455 }, 456 { 457 "comment": "scatter aggregate with complex select list (can't build order by)", 458 "query": "select distinct a+1 from user", 459 "v3-plan": "generating ORDER BY clause: VT12001: unsupported: reference a complex expression", 460 "gen4-plan": "VT13001: [BUG] in scatter query: complex ORDER BY expression: a + 1" 461 }, 462 { 463 "comment": "aggregation on union", 464 "query": "select sum(col) from (select col from user union all select col from unsharded) t", 465 "v3-plan": "VT12001: unsupported: cross-shard query with aggregates", 466 "gen4-plan": "VT12001: unsupported: using aggregation on top of a *planbuilder.concatenateGen4 plan" 467 }, 468 { 469 "comment": "insert having subquery in row values", 470 "query": "insert into user(id, name) values ((select 1 from user where id = 1), 'A')", 471 "plan": "expr cannot be translated, not supported: (select 1 from `user` where id = 1)" 472 }, 473 { 474 "comment": "lateral derived tables", 475 "query": "select * from user, lateral (select * from user_extra where user_id = user.id) t", 476 "plan": "VT12001: unsupported: lateral derived tables" 477 }, 478 { 479 "comment": "json_table expressions", 480 "query": "SELECT * FROM JSON_TABLE('[ {\"c1\": null} ]','$[*]' COLUMNS( c1 INT PATH '$.c1' ERROR ON ERROR )) as jt", 481 "v3-plan": "VT12001: unsupported: JSON_TABLE expressions", 482 "gen4-plan": "VT12001: unsupported: json_table expressions" 483 }, 484 { 485 "comment": "mix lock with other expr", 486 "query": "select get_lock('xyz', 10), 1 from dual", 487 "plan": "VT12001: unsupported: LOCK function and other expression: [1] in same select query" 488 } 489 ]