Skip to content
This repository was archived by the owner on Dec 16, 2022. It is now read-only.

update to latest and truncate long queries in ui#3

Merged
demmer merged 28 commits intomasterfrom
truncate-long-queries-in-ui
Mar 28, 2017
Merged

update to latest and truncate long queries in ui#3
demmer merged 28 commits intomasterfrom
truncate-long-queries-in-ui

Conversation

@demmer
Copy link
Copy Markdown
Collaborator

@demmer demmer commented Mar 28, 2017

Another merge of upstream to pull in my patches to make the debug UIs usable.

wangyipei01 and others added 28 commits March 20, 2017 09:29
The old version was somehow crashing in the unit tests on my WS. maybe
because I'm using go 1.8.
New version of golang/x/text packages.
Fixes recent Travis build errors.
This change allows two extensions to the SQL syntax:
1. UNION statements can be followed by ORDER BY, LIMIT and LOCK clauses.
2. SELECT statements that are part of a UNION can be parenthesized.

The main purpose of allowing parenthesis for selects was to
support the following two constructs: (SELECT...) UNION (SELECT...)
and INSERT INTO a (SELECT...).

The initial approach was to allow parenthesizing of all SELECT
statements. However, just adding that as an additional rule
created conflicts. In particular, `((SELECT * FROM t))` could
be seen as a subquery with a parenthesized select, or a row
tuple with a subquery. We've avoided this conflict by allowing
parenthesis only for selects that are part of a union.

This change allows you to do the UNION construct. Additionally,
we go one step further and allow ORDER BY and LIMIT clauses
for unions which we didn't allow before. The tabletserver
planbuilder has also been extended accordingly. VTGate
support of unions will also need to be extended.

The construct for inserts will be addresed in the next PR.

If necessary, we could allow the top level statement to be
parenthesized, but that has no practical value. So, we can
skip that for now.

For now, the current grammar has 1 shift/reduce conflict, which will
be resolved once the support for the INSERT...(SELECT...) is added.
This change allows you to use parenthesized selects in insert
statements, which also includes selects in unions:
insert into a (select * from t)
insert into a(b, c) (select * from t)
insert into a (select * from t1) union (select * from t2)

This change also resolves the shift/reduce conflict introduced
by the previous change.
workflow: resolve readability comments for canary feature.
@demmer demmer merged commit 61094af into master Mar 28, 2017
rafael pushed a commit that referenced this pull request Jun 21, 2018
rafael pushed a commit that referenced this pull request Apr 3, 2020
rafael pushed a commit that referenced this pull request May 14, 2020
This is the 1st commit message:

VDiff ad-hoc version for slack

This is the commit message #2:

Removes extra log items

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #3:

Print actual position where it actually stop

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #4:

Fixes bug in filepos flavor

* Prior to this commit, flavorpos was using lexicographical comparison of the gtids.
  Thas was a bug in this context.

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #5:

Updates how master gtid position is obtained for file:pos flavor

When generating masterGTIDSet in file:pos most likely you will have a topology
like the following:

  Source A -> Target B (B has a vreplication stream from A)

From the target perspective, the source A is the master and you want to generate
a gtid that is based on binlog file position of that server.

As an example, let's see this topology:

  Master A -> Source B -> Target C (C has vreplication stream from B)

Prior to this change, masterGTIDSet was returning the binlogfile:pos of A. But
in reality, the Target C wants the position of B.

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #6:

Cleanup per review

* Address PR review + some other cleanup per linter

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>
rafael pushed a commit that referenced this pull request Aug 13, 2020
This is the 1st commit message:

VDiff ad-hoc version for slack

This is the commit message #2:

Removes extra log items

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #3:

Print actual position where it actually stop

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #4:

Fixes bug in filepos flavor

* Prior to this commit, flavorpos was using lexicographical comparison of the gtids.
  Thas was a bug in this context.

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #5:

Updates how master gtid position is obtained for file:pos flavor

When generating masterGTIDSet in file:pos most likely you will have a topology
like the following:

  Source A -> Target B (B has a vreplication stream from A)

From the target perspective, the source A is the master and you want to generate
a gtid that is based on binlog file position of that server.

As an example, let's see this topology:

  Master A -> Source B -> Target C (C has vreplication stream from B)

Prior to this change, masterGTIDSet was returning the binlogfile:pos of A. But
in reality, the Target C wants the position of B.

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #6:

Cleanup per review

* Address PR review + some other cleanup per linter

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>
rafael pushed a commit that referenced this pull request Oct 1, 2020
This is the 1st commit message:

VDiff ad-hoc version for slack

This is the commit message #2:

Removes extra log items

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #3:

Print actual position where it actually stop

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #4:

Fixes bug in filepos flavor

* Prior to this commit, flavorpos was using lexicographical comparison of the gtids.
  Thas was a bug in this context.

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #5:

Updates how master gtid position is obtained for file:pos flavor

When generating masterGTIDSet in file:pos most likely you will have a topology
like the following:

  Source A -> Target B (B has a vreplication stream from A)

From the target perspective, the source A is the master and you want to generate
a gtid that is based on binlog file position of that server.

As an example, let's see this topology:

  Master A -> Source B -> Target C (C has vreplication stream from B)

Prior to this change, masterGTIDSet was returning the binlogfile:pos of A. But
in reality, the Target C wants the position of B.

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #6:

Cleanup per review

* Address PR review + some other cleanup per linter

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

Fixes due to changes upstream

Fixes due to bad cherry-pick

Fixes due to refactors upstream

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

one more bad merge

Slowly building context around this code from december again

Refactor to use new name

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>
rafael pushed a commit that referenced this pull request Oct 7, 2020
This is the 1st commit message:

VDiff ad-hoc version for slack

This is the commit message #2:

Removes extra log items

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #3:

Print actual position where it actually stop

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #4:

Fixes bug in filepos flavor

* Prior to this commit, flavorpos was using lexicographical comparison of the gtids.
  Thas was a bug in this context.

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #5:

Updates how master gtid position is obtained for file:pos flavor

When generating masterGTIDSet in file:pos most likely you will have a topology
like the following:

  Source A -> Target B (B has a vreplication stream from A)

From the target perspective, the source A is the master and you want to generate
a gtid that is based on binlog file position of that server.

As an example, let's see this topology:

  Master A -> Source B -> Target C (C has vreplication stream from B)

Prior to this change, masterGTIDSet was returning the binlogfile:pos of A. But
in reality, the Target C wants the position of B.

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

This is the commit message #6:

Cleanup per review

* Address PR review + some other cleanup per linter

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

Fixes due to changes upstream

Fixes due to bad cherry-pick

Fixes due to refactors upstream

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>

one more bad merge

Slowly building context around this code from december again

Refactor to use new name

Signed-off-by: Rafael Chacon <rafael@slack-corp.com>
rafael pushed a commit that referenced this pull request May 18, 2021
…ion/cancellation

This is a combination of 4 commits.
This is the commit message #2:

Check that routing rules are deleted in unit test

This is the commit message #3:

Fix typo

This is the commit message #4:

Refresh all tablets in a shard when updating blacklisted tables

Signed-off-by: Rohit Nayak <rohit@planetscale.com>

Signed-off-by: Andres Taylor <andres@planetscale.com>
pbibra pushed a commit that referenced this pull request Jul 20, 2022
* Implement VDiff2 delete command

Also add --verbose flag for VDiff output

Signed-off-by: Matt Lord <mattalord@gmail.com>

* Delete vdiff metadata associated with a deleted workflow

Signed-off-by: Matt Lord <mattalord@gmail.com>

* Tweaks after self review

Signed-off-by: Matt Lord <mattalord@gmail.com>

* Self review #2

Signed-off-by: Matt Lord <mattalord@gmail.com>

* Spelling is herd

Signed-off-by: Matt Lord <mattalord@gmail.com>

* Add test for vdiff data cleanup on workflow deletion

Signed-off-by: Matt Lord <mattalord@gmail.com>

* Caught mistake on self-review #3

Signed-off-by: Matt Lord <mattalord@gmail.com>

* Add a couple more delete tests

Signed-off-by: Matt Lord <mattalord@gmail.com>

* Clear out vdiff_log table as well on workflow deletion

Signed-off-by: Matt Lord <mattalord@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants