-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cleanup whitespace and comments in SQL query text #1246
Cleanup whitespace and comments in SQL query text #1246
Conversation
looks nice! |
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
* Cleanup whitespace in SQL query text * cleanup * Add indent * Update unit tests * Update unit tests, pt 2 * Fix tweaks * Fix merge conflict resolution Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> --------- Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
* Add `focal` build * upgrade codeQL action to v2 * Pin docker image to stretch (github#1324) * pin stretch image * update stretch repo * Update Dockerfile.test * parse binlog timestamp in UTC (github#1322) * upgrade standard library deps (github#1332) * fix: typo (github#1331) Co-authored-by: Tim Vaillancourt <tim@timvaillancourt.com> * Remove stale RELEASE_VERSION file (github#1349) Signed-off-by: Tim Vaillancourt <tvaillancourt@slack-corp.com> * Force index in unique key range queries (github#1237) * WIP * Pass entire sql.UniqueKey * newline for limit * Rename var --------- Co-authored-by: meiji163 <meiji163@github.com> * Include git commit in version (github#1347) * Include git commit in version Signed-off-by: Tim Vaillancourt <tvaillancourt@slack-corp.com> * Make --version output change less-breaking --------- Signed-off-by: Tim Vaillancourt <tvaillancourt@slack-corp.com> * Fix tokens in inspector logging (github#1226) * Cleanup whitespace and comments in SQL query text (github#1246) * Cleanup whitespace in SQL query text * cleanup * Add indent * Update unit tests * Update unit tests, pt 2 * Fix tweaks * Fix merge conflict resolution Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> --------- Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * Fix `--version` output (github#1352) * Fix `--version` output Signed-off-by: Tim Vaillancourt <tvaillancourt@slack-corp.com> * Always fallback version/commit if undef Signed-off-by: Tim Vaillancourt <tvaillancourt@slack-corp.com> --------- Signed-off-by: Tim Vaillancourt <tvaillancourt@slack-corp.com> * Update to `go1.21` (github#1351) * go1.21 + bullseye Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * go1.21 + bullseye pt 2 Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * checkout before setup-go Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * go fmt Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * Use golangci-lint 1.54.2 to support go1.21 Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * stop using io/ioutil to make linter happy Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * Fix typo Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * Lint Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * revert replica-tests CI to ubuntu 20 due to linker errors Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * Update ensure-go-installed * use `ubuntu-latest` for `ci` job Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * stretch -> bullseye Signed-off-by: Tim Vaillancourt <tvaillancourt@slack-corp.com> --------- Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> Signed-off-by: Tim Vaillancourt <tvaillancourt@slack-corp.com> * Replace deprecated `github.com/satori/go.uuid` lib (github#1354) Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * Add `CODEOWNERS` file to auto-request reviews (github#1350) Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * go mod tidy * update test * fix lint --------- Signed-off-by: Tim Vaillancourt <tvaillancourt@slack-corp.com> Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> Co-authored-by: Rashiq <rashiq@users.noreply.github.com> Co-authored-by: meiji163 <meiji163@github.com> Co-authored-by: guangwu <guoguangwu@magic-shield.com> Co-authored-by: Tim Vaillancourt <tim@timvaillancourt.com>
@@ -1150,7 +1151,7 @@ func (this *Applier) ApplyDMLEventQueries(dmlEvents [](*binlog.BinlogDMLEvent)) | |||
return err | |||
} | |||
|
|||
sessionQuery := "SET SESSION time_zone = '+00:00'" | |||
sessionQuery := "SET /* gh-ost */ SESSION time_zone = '+00:00'" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@timvaillancourt Does the time zone set here need to be configured as this.migrationContext.ApplierTimeZone
? I noticed that other sessions are using this.migrationContext.ApplierTimeZone
for setting the time zone, but here it is set to +00:00. Should this be adjusted?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shaohk good question, that sounds more correct than +00:00
🤔
Based on the soak testing this logic has seen I don't think this causes an integrity problem, however. I think that may be because binlog row events contain the values from that primary/master (including dates/times), so it probably doesn't matter what timezone the applier session uses here. I believe gh-ost
is using the decoded binlog row event values only
Fewer "what if?" questions is a good thing though, so I would still welcome this change if it passes integration testing at GitHub
Description
This PR cleans up SQL query text in several files where whitespace, line separation and the use of comments were inconsistent
The rules I followed were:
/* gh-ost */
or/* gh-ost database.table */
comment/t
) are used for indentationquery :=
using backticksquery
after a single tabFROM
, example:select /* gh-ost */ @@global.log_slave_updates
FROM
/INTO
SET
/ON DUPLICATE KEY UPDATE
VALUES
WHERE
(
or)
SQL-block brackets, example: a sub-queryINNER JOIN
ON
CASE
query
var / close backtick after last wordWhat this PR does NOT address is the inconsistency in capitalization in SQL. I would like to leave this to a vote from the community in an up-coming GitHub Discussion, and I will follow-up on this separately
script/cibuild
returns with no formatting errors, build errors or unit test errors.