-
Notifications
You must be signed in to change notification settings - Fork 987
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
backport schema feature from dolphinbeat #358
Open
bytewatch
wants to merge
19
commits into
go-mysql-org:master
Choose a base branch
from
bytewatch:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
2c5a50b
fix Canal.startSyncer and position comparison between different serve…
bytewatch 4b772da
fix complile problem
bytewatch 152ef50
fix complile problem
bytewatch 72c589f
modify print style
bytewatch 59d83a6
Merge branch 'master' into master
IANTHEREAL 503c6b4
add current master's server id
bytewatch 3fb4533
Merge branch 'master' of https://github.com/bytewatch/go-mysql
bytewatch 12d3dda
fix WaitUntilPos if server_id is different
bytewatch 0354762
use Clone method of GTIDSet interface to copy
bytewatch 29286f0
remove server_id logic
bytewatch 3da28fe
Merge branch 'master' into master
bytewatch 7e87fa6
backport schema feature from dolphinbeat
bytewatch 5dd1cf0
add github.com/bytewatch/dolphinbeat/schema into vendor
bytewatch c29ef1a
copy dolphinbeat/schema to go-mysql/schema
bytewatch 7b4e757
add dependences
bytewatch 5f8859c
remove bytewatch's license
bytewatch 3ec35d1
Merge branch 'master' into master
bytewatch c1ba9b3
use go mod
bytewatch 80b9095
Merge branch 'master' into master
bytewatch File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
package canal | ||
|
||
type Observer struct { | ||
BeforeSchemaChange func(string, string) error | ||
OnSchemaChangeFailed func(string, string, error) (bool, error) | ||
} | ||
|
||
// Register a hook that will be called before schema change | ||
func (c *Canal) RegisterBeforeSchemaChangeHook(fn func(string, string) error) { | ||
c.observer.BeforeSchemaChange = fn | ||
} | ||
|
||
// Register a hook that will be called on DDL failed | ||
func (c *Canal) RegisterOnSchemaChangeFailedHook(fn func(string, string, error) (bool, error)) { | ||
c.observer.OnSchemaChangeFailed = fn | ||
} | ||
|
||
func (c *Canal) runBeforeSchemaChangeHook(db string, statement string) error { | ||
if c.observer.BeforeSchemaChange == nil { | ||
return nil | ||
} | ||
return c.observer.BeforeSchemaChange(db, statement) | ||
} | ||
|
||
func (c *Canal) runOnSchemaChangeFailedHook(db string, statement string, err error) (bool, error) { | ||
if c.observer.OnSchemaChangeFailed == nil { | ||
return false, err | ||
} | ||
return c.observer.OnSchemaChangeFailed(db, statement, err) | ||
} |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
why remove this?
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.
Because my account dosen't have super privilege to set this global variable. And I think it's ok if mysql is configured to use ROW format already, like the travis config.