-
Couldn't load subscription status.
- Fork 1.3k
Count rows queries #1442
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
base: master
Are you sure you want to change the base?
Count rows queries #1442
Conversation
online schema changes with deletion. architecture as detailed explained here: https://kb.wixpress.com/x/8pocBQ Where clause condition will always receive the default 1=1. in case we would like to delete table data we will use the where clause as in a "select" meaning we will put the data we want to save in the where clause. to include values on the where clause - use the condition as it is. for exclude values please put "not" before. Please note : Where clause condition will be enforced only from the source table and not from the binlog. meaning if I put a where clause of id < 100, and id # 2 was updated \ inserted, it will be in the new table because this DML will be taken from the binlog. this is a feature since this is newly update\insert otherwise it should be inserted into the binlogs as a deleted row. If you are using one filter operation with in , please don't put more than 5 values. otherwise please use the sub-select option. For hash \ string it is better to use the sub-select option, avoiding string manipulation issues in the middle (Jenkins, ansible, Casper). Where clause can not be edited in the middle of ghost run.
47139a4 to
98dc355
Compare
| } | ||
|
|
||
| query := fmt.Sprintf(`select /* gh-ost */ count(*) as count_rows from %s.%s`, sql.EscapeName(this.migrationContext.DatabaseName), sql.EscapeName(this.migrationContext.OriginalTableName)) | ||
| query := fmt.Sprintf(`select /* gh-ost */ table_rows as count_rows from information_schema.tables where table_schema="%s" and table_name="%s"`, sql.EscapeName(this.migrationContext.DatabaseName), sql.EscapeName(this.migrationContext.OriginalTableName)) |
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.
table_rows from information_schema is an estimate, not necessarily the exact row count. Elsewhere we estimate the row count if select count(*) cannot complete. So we do not wish to change this.
A Pull Request should be associated with an Issue.
Related issue: https://github.com/github/gh-ost/issues/0123456789
Description
This PR [briefly explain what it does]
script/cibuildreturns with no formatting errors, build errors or unit test errors.