You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Retire driver UPDATE-FROM workaround now that Turso trunk supports it
Driver patch #16 rewrote MySQL multi-table UPDATE (which the driver
emits as 'UPDATE t SET ... FROM tableRefList WHERE ...') into a
rowid-IN subquery because Turso lacked UPDATE FROM. Trunk landed
UPDATE FROM via e1d6f0177 (PR by Pekka Enberg & Jussi Saurio), and we
just bumped the pin past it in the previous commit. The workaround is
now dead weight.
Removed from the 'Patch driver for Turso compatibility' step:
- the three string replaces in class-wp-pdo-mysql-on-sqlite.php
that injected the rowid-IN rewrite
- the three Translation_Tests testUpdate expectation rewrites
(which existed only to match the rewrite output)
If CI regresses, the previous commit (876920e) is the bisect target —
this commit only edits the workflow's driver-patch step.
"'UPDATE `t1` SET `id` = 1 FROM `t2` WHERE `t1`.`c` = `t2`.`c`'",
1106
-
"'UPDATE `t1` SET `id` = 1 WHERE rowid IN ( SELECT `t1`.rowid FROM `t1` , `t2` WHERE `t1`.`c` = `t2`.`c` )'",
1107
-
),
1108
-
(
1109
-
"'UPDATE `t1` SET `id` = 1 FROM `t2` WHERE `t1`.`c` = 2 AND `t1`.`c` = `t2`.`c`'",
1110
-
"'UPDATE `t1` SET `id` = 1 WHERE rowid IN ( SELECT `t1`.rowid FROM `t1` JOIN `t2` ON `t1`.`c` = `t2`.`c` WHERE `t1`.`c` = 2 )'",
1111
-
),
1112
-
(
1113
-
"'UPDATE `t1` SET `id` = 1 FROM ( SELECT * FROM `t2` ) AS `t2` WHERE `t1`.`c` = 2 AND `t1`.`c` = `t2`.`c`'",
1114
-
"'UPDATE `t1` SET `id` = 1 WHERE rowid IN ( SELECT `t1`.rowid FROM `t1` JOIN ( SELECT * FROM `t2` ) AS `t2` ON `t1`.`c` = `t2`.`c` WHERE `t1`.`c` = 2 )'",
1115
-
),
1116
-
]:
1117
-
if old_q in src_tt:
1118
-
src_tt = src_tt.replace(old_q, new_q, 1)
1119
-
open(path_tt, 'w').write(src_tt)
1120
-
print('patched Translation_Tests testUpdate expectations to rowid-IN form')
1121
-
1122
1027
# 14. Update Translation_Tests::testHexadecimalLiterals to match
1123
1028
# the hex-literal alias force patch (which needs to stay so
1124
1029
# Turso doesn't mangle x'417a' into 17a' at runtime).
0 commit comments