Skip to content
This repository was archived by the owner on Dec 16, 2022. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
8dc4233
Fix for truncate
Jan 29, 2018
90eeb4b
Fix in test setup
Jan 29, 2018
7fd37da
Update analyzer test
Jan 29, 2018
ab2a4c4
Update executor tests
Jan 29, 2018
8fa7839
Add support for trailing comments in begin/commit/rollback statements
Jan 31, 2018
e3baf62
nit - only get trimmed comments when needed
Feb 1, 2018
faf02dc
Added comment per code review
Feb 1, 2018
bdc6372
nit - improve comment
Feb 1, 2018
8d0e167
Rewrote comment to make it clearer
Feb 1, 2018
3f86c51
Fix for show vindexes, not picking the correct stat
Feb 3, 2018
8be2b63
mysqlctl: Execute RefreshConfig remotely if requested.
enisoc Feb 3, 2018
f109905
helm: add InitShardMaster Job
derekperkins Jan 31, 2018
c0a8162
helm: disable semi_sync if only one tablet
derekperkins Feb 1, 2018
3b94173
helm: add note to delete init-shard-master jobs
derekperkins Feb 1, 2018
b2ea065
helm: timeout InitShardMaster after 10 minutes
derekperkins Feb 2, 2018
224a6bd
helm: calculate total tablets in helm chart
derekperkins Feb 3, 2018
237a4bb
helm: add enable heartbeat option to vttablet
derekperkins Feb 3, 2018
37e28dd
helm: add enable semi-sync option to vttablet
derekperkins Feb 3, 2018
a7645aa
helm: check ISM timeout if tablets are not ready
derekperkins Feb 3, 2018
57046f6
helm: remove recommendation to remove ISM Job
derekperkins Feb 3, 2018
1d987cb
helm: use heartbeat enabled option in Orc config
derekperkins Feb 3, 2018
6627aeb
docker: add jq to vtctlclient Dockerfile
derekperkins Feb 4, 2018
820081c
helm: check GetShard for master tablet before ISM
derekperkins Feb 4, 2018
9e513e6
zksrv.sh: remove unneeded start variable
sjmudd Feb 5, 2018
d246e8e
helm: change enableSemisync to >2 replica warning
derekperkins Feb 5, 2018
4d73828
Merge pull request #3612 from derekperkins/init-shard-master
enisoc Feb 5, 2018
357e5da
add support for `USING <identifier>` to CREATE TABLE
demmer Feb 6, 2018
08aa5d4
Add metric for current lag
bbeaudreault Feb 6, 2018
fdcffaf
Fixing proto imports.
alainjobart Feb 6, 2018
ecc97ec
Merge pull request #3635 from HubSpot/current_lag
alainjobart Feb 6, 2018
b4c1472
Merge pull request #3634 from alainjobart/proto
alainjobart Feb 6, 2018
3ee96f1
for dba workload, dont enforce transaction timeout
bbeaudreault Jan 31, 2018
3f258c5
Merge pull request #3633 from tinyspeck/create-table-support-index-us…
alainjobart Feb 7, 2018
c39f046
Merge pull request #3629 from sjmudd/zksrv.sh_remove_unneeded_start_v…
alainjobart Feb 7, 2018
7344bb8
Merge pull request #3623 from enisoc/refresh-config
alainjobart Feb 7, 2018
5ab58f3
Merge pull request #3618 from tinyspeck/fix-for-show-vindexes
alainjobart Feb 7, 2018
c9edcc8
Merge pull request #3613 from tinyspeck/fix-for-begin-commit-rollback
alainjobart Feb 7, 2018
8409b55
Merge pull request #3609 from HubSpot/dba_no_timeout
alainjobart Feb 7, 2018
781cf23
Merge pull request #3601 from tinyspeck/fix-truncate-multi-shard
alainjobart Feb 7, 2018
a28d1b5
vtqueryserver (#3535)
demmer Feb 7, 2018
7a21e0d
Using temp dir for unix socket instead of vttest.
alainjobart Feb 9, 2018
9730a99
Merge pull request #3646 from alainjobart/vtqueryserver
alainjobart Feb 9, 2018
680d067
Multi shard delete support
Jan 25, 2018
d16589b
vtgate: move MessageStream logic into executor
derekperkins Feb 10, 2018
259e61f
sqlparser: add stream grammar support
derekperkins Feb 10, 2018
e432c4c
vtgate: handle stream queries via StreamExecute
derekperkins Feb 10, 2018
04cdfca
sqlparser: test stream /* comment */ * from t
derekperkins Feb 11, 2018
9d4a762
vtgate: add sharded StreamMessages test
derekperkins Feb 11, 2018
56fcc03
vttablet: improved ACL support (WIP)
sougou Feb 11, 2018
4130c92
vttablet: acl: add Permissions to planbuilder.Plan
sougou Feb 11, 2018
16f36e8
vttablet: acl: Use 'Permissions' in tabletserver
sougou Feb 11, 2018
dc01d28
Merge pull request #3636 from derekperkins/stream-sql
alainjobart Feb 11, 2018
0f32505
vttablet: acl: fix for SQL correctness
sougou Feb 12, 2018
ee9b1da
prune unused functions
gentryx Feb 12, 2018
e6e31aa
Merge pull request #3650 from gentryx/delete_unused
alainjobart Feb 12, 2018
ac3b0a6
Try to return a better error message when a transaction is not found …
bbeaudreault Feb 12, 2018
86bb174
trim space from query before splitting off comments (#3647)
acharis Feb 12, 2018
b5d1098
Merge pull request #3593 from tinyspeck/sharded-delete
alainjobart Feb 12, 2018
f22334a
Moving discovery.FindAllTargets to srvtopo.
alainjobart Jan 17, 2018
31086d6
Adding a few interfaces for aggregate stats.
alainjobart Jan 23, 2018
b18529c
Folding l2vtgate into vtgate. Removing l2vtgate.
alainjobart Jan 24, 2018
6cbec25
Adding Resolver to srvtopo package.
alainjobart Feb 5, 2018
6289dfc
Switching more calls to new resolver.
alainjobart Feb 5, 2018
2a4c9e9
Converting another set of calls to new Resolver.
alainjobart Feb 6, 2018
46ac7d4
Refactoring the batch requests.
alainjobart Feb 6, 2018
f990130
Converting a few more calls to Resolver.
alainjobart Feb 6, 2018
5a1dc0c
Fix after rebase.
alainjobart Feb 6, 2018
f77544f
Fixing vtgatev2_test.
alainjobart Feb 7, 2018
a35151e
Fixing SplitQuery to work with Resolver.
alainjobart Feb 7, 2018
34e0161
Simplifying srvtopo.Resolver.ResolveKeyRanges.
alainjobart Feb 7, 2018
e649637
Multi shard DELETE with LIMIT clause should not be supported
Feb 12, 2018
714b266
Reword error messages per feedback
Feb 12, 2018
6ad635f
Renaming explore.go to discover.go.
alainjobart Feb 12, 2018
fe1358c
Merge pull request #3653 from tinyspeck/fix-for-multi-shard
alainjobart Feb 12, 2018
c34b985
Merge pull request #3562 from alainjobart/targetcell
alainjobart Feb 13, 2018
4179683
v3: keyrange for non-unique vindexes
sougou Jan 28, 2018
b69d703
vindex: add scatter_if_absent options
sougou Jan 28, 2018
3d7fa5d
v3: extended vindexes.Lookup to require Update
sougou Jan 28, 2018
64938d0
v3: support for Lookup vindex autocommit
sougou Jan 29, 2018
1a9d296
v3: scatter_if_absent -> write_only
sougou Feb 10, 2018
2fcc1a8
pass in the bldr which can be used or looking up outer symtab when re…
bbeaudreault Feb 13, 2018
cfbf32a
add test for delete. fix test comment
bbeaudreault Feb 13, 2018
2976db6
v3: modified autocommit behavior
sougou Feb 13, 2018
2ce27e5
vttablet: acl: add legacy support for migration
sougou Feb 13, 2018
fa6844d
Removing useless conversion.
alainjobart Feb 13, 2018
fb37f42
Fixing govet warning in test.
alainjobart Feb 13, 2018
ab45301
update resilient server debug status to indicate cache freshness
demmer Feb 7, 2018
e0502cf
expose Lock / Unlock from the memorytopo
demmer Feb 12, 2018
f011158
clear the cached entry if the watch fails and we exceeded the TTL
demmer Feb 7, 2018
93261e1
fix GetSrvKeyspace to cache for the full ttl even when no changes occur
demmer Feb 8, 2018
13cfb4e
change all topo calls to be asynchronous
demmer Feb 8, 2018
f875ea9
Merge pull request #3656 from alainjobart/javatime
alainjobart Feb 14, 2018
fdbbc67
minor changes in response to PR feedback
demmer Feb 14, 2018
5933ffa
Merge pull request #3641 from tinyspeck/resilient-topo-more-resilient…
alainjobart Feb 14, 2018
4993773
Merge pull request #3654 from HubSpot/allow_outer_references_unsharded
alainjobart Feb 14, 2018
f615181
Merge pull request #3600 from sougou/v3
alainjobart Feb 14, 2018
a0eae48
Merge pull request #3649 from sougou/acl
alainjobart Feb 14, 2018
1faab99
Revert "Merge pull request #71 from tinyspeck/slack-sync-upstream/201…
demmer Feb 15, 2018
087bf39
Revert "Merge pull request #72 from tinyspeck/slack-sync-upstream/201…
demmer Feb 15, 2018
ac980b0
Revert "Merge pull request #68 from tinyspeck/vtqueryserver-remove-st…
demmer Feb 15, 2018
6a6c28f
Revert "Merge branch 'vtqueryserver' into slack-sync-upstream-2018-01…
demmer Feb 15, 2018
4c9950e
Merge remote-tracking branch 'upstream/master' into slack-sync-upstre…
demmer Feb 15, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
808 changes: 801 additions & 7 deletions data/test/tabletserver/exec_cases.txt

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions data/test/tabletserver/stream_cases.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
{
"PlanID": "SELECT_STREAM",
"TableName": "a",
"Permissions":[{"TableName":"a","Role":0}],
"FullQuery": "select * from a"
}

Expand All @@ -11,6 +12,7 @@
{
"PlanID": "SELECT_STREAM",
"TableName": "",
"Permissions":[{"TableName":"a","Role":0},{"TableName":"b","Role":0}],
"FullQuery": "select * from a join b"
}

Expand All @@ -23,6 +25,7 @@
{
"PlanID": "SELECT_STREAM",
"TableName": "",
"Permissions":[{"TableName":"a","Role":0},{"TableName":"b","Role":0}],
"FullQuery": "select * from a union select * from b"
}

Expand Down
92 changes: 92 additions & 0 deletions data/test/vtgate/dml_cases.txt
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,10 @@
}
}

# update by primary keyspace id, changing same vindex twice
"update user_metadata set email = 'a', email = 'b' where user_id = 1"
"column has duplicate set values: 'email'"

# update by primary keyspace id, changing multiple vindex columns
"update user_metadata set email = 'juan@vitess.io', address = '155 5th street' where user_id = 1"
{
Expand Down Expand Up @@ -1194,3 +1198,91 @@
"Subquery": "select column_a, column_b, column_c from multicolvin where kid = 1 for update"
}
}

# delete from with no where clause
"delete from user_extra"
{
"Original": "delete from user_extra",
"Instructions": {
"Opcode": "DeleteSharded",
"Keyspace": {
"Name": "user",
"Sharded": true
},
"Query": "delete from user_extra",
"Table": "user_extra"
}
}

# delete with non-comparison expr
"delete from user_extra where user_id between 1 and 2"
{
"Original": "delete from user_extra where user_id between 1 and 2",
"Instructions": {
"Opcode": "DeleteSharded",
"Keyspace": {
"Name": "user",
"Sharded": true
},
"Query": "delete from user_extra where user_id between 1 and 2",
"Table": "user_extra"
}
}

# delete from with no index match
"delete from user_extra where name = 'jose'"
{
"Original": "delete from user_extra where name = 'jose'",
"Instructions": {
"Opcode": "DeleteSharded",
"Keyspace": {
"Name": "user",
"Sharded": true
},
"Query": "delete from user_extra where name = 'jose'",
"Table": "user_extra"
}
}

# delete from with primary id in through IN clause
"delete from user_extra where user_id in (1, 2)"
{
"Original": "delete from user_extra where user_id in (1, 2)",
"Instructions": {
"Opcode": "DeleteSharded",
"Keyspace": {
"Name": "user",
"Sharded": true
},
"Query": "delete from user_extra where user_id in (1, 2)",
"Table": "user_extra"
}
}

# unsharded update where inner query references outer query
"update unsharded set col = (select id from unsharded_a where id = unsharded.col) where col = (select id from unsharded_b)"
{
"Original": "update unsharded set col = (select id from unsharded_a where id = unsharded.col) where col = (select id from unsharded_b)",
"Instructions": {
"Opcode": "UpdateUnsharded",
"Keyspace": {
"Name":"main",
"Sharded":false
},
"Query": "update unsharded set col = (select id from unsharded_a where id = unsharded.col) where col = (select id from unsharded_b)"
}
}

# unsharded delete where inner query references outer query
"delete from unsharded where col = (select id from unsharded_a where id = unsharded.col)"
{
"Original": "delete from unsharded where col = (select id from unsharded_a where id = unsharded.col)",
"Instructions": {
"Opcode": "DeleteUnsharded",
"Keyspace": {
"Name": "main",
"Sharded": false
},
"Query": "delete from unsharded where col = (select id from unsharded_a where id = unsharded.col)"
}
}
32 changes: 8 additions & 24 deletions data/test/vtgate/unsupported_cases.txt
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,10 @@
"delete from unsharded where col = (select id from user)"
"unsupported: sharded subqueries in DML"

# sharded delete with limit clasue
"delete from user_extra limit 10"
"unsupported: multi shard delete with limit"

# sharded subquery in unsharded subquery in unsharded delete
"delete from unsharded where col = (select id from unsharded where id = (select id from user))"
"unsupported: sharded subqueries in DML"
Expand All @@ -251,50 +255,26 @@
"update user set val = 1"
"unsupported: multi-shard where clause in DML"

# delete from with no where clause
"delete from user"
"unsupported: multi-shard where clause in DML"

# update with non-comparison expr
"update user set val = 1 where id between 1 and 2"
"unsupported: multi-shard where clause in DML"

# delete with non-comparison expr
"delete from user where id between 1 and 2"
"unsupported: multi-shard where clause in DML"

# update with primary id through IN clause
"update user set val = 1 where id in (1, 2)"
"unsupported: multi-shard where clause in DML"

# delete from with primary id through IN clause
"delete from user where id in (1, 2)"
"unsupported: multi-shard where clause in DML"

# update with non-unique key
"update user set val = 1 where name = 'foo'"
"unsupported: multi-shard where clause in DML"

# delete from with primary id through IN clause
"delete from user where name = 'foo'"
"unsupported: multi-shard where clause in DML"

# update with no index match
"update user set val = 1 where user_id = 1"
"unsupported: multi-shard where clause in DML"

# delete from with no index match
"delete from user where user_id = 1"
"unsupported: multi-shard where clause in DML"

# update by lookup with IN clause
"update music set val = 1 where id in (1, 2)"
"unsupported: multi-shard where clause in DML"

# delete from by lookup with IN clause
"delete from music where id in (1, 2)"
"unsupported: multi-shard where clause in DML"

# delete with multi-table targets
"delete music from music where id = 1"
"unsupported: multi-table delete statement in sharded keyspace"
Expand All @@ -303,6 +283,10 @@
"delete user from user join user_extra on user.id = user_extra.id where user.name = 'foo'"
"unsupported: multi-table delete statement in sharded keyspace"

# delete from table with no where clause and owned lookup vindex
"delete from user"
"unsupported: multi shard delete on a table with owned lookup vindexes"

# update changes primary vindex column
"update user set id = 1 where id = 1"
"unsupported: You can't update primary vindex columns. Invalid update on vindex: user_index"
Expand Down
37 changes: 36 additions & 1 deletion data/test/vtgate/vindex_func_cases.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,39 @@
# vindex func read
# vindex func read all cols
"select id, keyspace_id, range_start, range_end from user_index where id = :id"
{
"Original": "select id, keyspace_id, range_start, range_end from user_index where id = :id",
"Instructions": {
"Opcode": "VindexMap",
"Fields": [
{
"name": "id",
"type": 10262
},
{
"name": "keyspace_id",
"type": 10262
},
{
"name": "range_start",
"type": 10262
},
{
"name": "range_end",
"type": 10262
}
],
"Cols": [
0,
1,
2,
3
],
"Vindex": "user_index",
"Value": ":id"
}
}

# vindex func read with id repeated
"select id, keyspace_id, id from user_index where id = :id"
{
"Original": "select id, keyspace_id, id from user_index where id = :id",
Expand Down
6 changes: 6 additions & 0 deletions docker/k8s/vtctlclient/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
FROM vitess/base AS base
FROM debian:stretch-slim
COPY --from=base /vt/bin/vtctlclient /usr/bin/
RUN apt-get update && \
apt-get upgrade -qq && \
apt-get install jq -qq --no-install-recommends && \
apt-get autoremove && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
CMD ["/usr/bin/vtctlclient"]
31 changes: 0 additions & 31 deletions go/cmd/l2vtgate/index.go

This file was deleted.

85 changes: 0 additions & 85 deletions go/cmd/l2vtgate/main.go

This file was deleted.

23 changes: 0 additions & 23 deletions go/cmd/l2vtgate/plugin_consultopo.go

This file was deleted.

Loading