Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
60 changes: 52 additions & 8 deletions data/test/vtexplain/comments-output.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,28 +16,72 @@
}
],
"TabletActions": {
"ks_sharded/-80": {
"ks_sharded/-40": {
"TabletQueries": [
{
"Time": 1,
"SQL": "select * from user",
"BindVars": {}
"BindVars": {
"#maxLimit": "10001"
}
}
],
"MysqlQueries": [
"select * from user where 1 != 1",
"select * from user limit 10001"
{
"Time": 1,
"SQL": "select * from user limit 10001"
}
]
},
"ks_sharded/40-80": {
"TabletQueries": [
{
"Time": 1,
"SQL": "select * from user",
"BindVars": {
"#maxLimit": "10001"
}
}
],
"MysqlQueries": [
{
"Time": 1,
"SQL": "select * from user limit 10001"
}
]
},
"ks_sharded/80-": {
"ks_sharded/80-c0": {
"TabletQueries": [
{
"Time": 1,
"SQL": "select * from user",
"BindVars": {}
"BindVars": {
"#maxLimit": "10001"
}
}
],
"MysqlQueries": [
"select * from user where 1 != 1",
"select * from user limit 10001"
{
"Time": 1,
"SQL": "select * from user limit 10001"
}
]
},
"ks_sharded/c0-": {
"TabletQueries": [
{
"Time": 1,
"SQL": "select * from user",
"BindVars": {
"#maxLimit": "10001"
}
}
],
"MysqlQueries": [
{
"Time": 1,
"SQL": "select * from user limit 10001"
}
]
}
}
Expand Down
11 changes: 4 additions & 7 deletions data/test/vtexplain/comments-output.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
----------------------------------------------------------------------
SELECT * from user

[ks_sharded/-80]:
select * from user where 1 != 1
select * from user limit 10001

[ks_sharded/80-]:
select * from user where 1 != 1
select * from user limit 10001
1 ks_sharded/-40: select * from user limit 10001
1 ks_sharded/40-80: select * from user limit 10001
1 ks_sharded/80-c0: select * from user limit 10001
1 ks_sharded/c0-: select * from user limit 10001

----------------------------------------------------------------------
258 changes: 258 additions & 0 deletions data/test/vtexplain/deletesharded-output.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,258 @@
[
{
"SQL": "delete from user where id=10",
"Plans": [
{
"Original": "delete from name_user_map where name = :name and user_id = :user_id",
"Instructions": {
"Opcode": "DeleteEqual",
"Keyspace": {
"Name": "ks_sharded",
"Sharded": true
},
"Query": "delete from name_user_map where name = :name and user_id = :user_id",
"Vindex": "md5",
"Values": [
":name"
],
"Table": "name_user_map"
}
},
{
"Original": "delete from user where id = :vtg1",
"Instructions": {
"Opcode": "DeleteEqual",
"Keyspace": {
"Name": "ks_sharded",
"Sharded": true
},
"Query": "delete from user where id = :vtg1",
"Vindex": "hash",
"Values": [
":vtg1"
],
"Table": "user",
"Subquery": "select name from user where id = :vtg1 for update"
}
}
],
"TabletActions": {
"ks_sharded/40-80": {
"TabletQueries": [
{
"Time": 1,
"SQL": "select name from user where id = :vtg1 for update",
"BindVars": {
"#maxLimit": "10001",
"vtg1": "10"
}
},
{
"Time": 3,
"SQL": "delete from user where id = :vtg1 /* vtgate:: keyspace_id:594764e1a2b2d98e */",
"BindVars": {
"#maxLimit": "10001",
"vtg1": "10"
}
}
],
"MysqlQueries": [
{
"Time": 1,
"SQL": "begin"
},
{
"Time": 1,
"SQL": "select name from user where id = 10 limit 10001 for update"
},
{
"Time": 3,
"SQL": "delete from user where id in (10) /* vtgate:: keyspace_id:594764e1a2b2d98e */"
},
{
"Time": 4,
"SQL": "commit"
}
]
},
"ks_sharded/80-c0": {
"TabletQueries": [
{
"Time": 2,
"SQL": "delete from name_user_map where name = :name and user_id = :user_id /* vtgate:: keyspace_id:a6e89b54b129c33051b76db219595660 */",
"BindVars": {
"#maxLimit": "10001",
"name": "'name_val_1'",
"user_id": "10"
}
}
],
"MysqlQueries": [
{
"Time": 2,
"SQL": "begin"
},
{
"Time": 2,
"SQL": "delete from name_user_map where (name = 'name_val_1' and user_id = 10) /* vtgate:: keyspace_id:a6e89b54b129c33051b76db219595660 */"
},
{
"Time": 5,
"SQL": "commit"
}
]
}
}
},
{
"SQL": "delete from user where name='billy'",
"Plans": [
{
"Original": "delete from name_user_map where name = :name and user_id = :user_id",
"Instructions": {
"Opcode": "DeleteEqual",
"Keyspace": {
"Name": "ks_sharded",
"Sharded": true
},
"Query": "delete from name_user_map where name = :name and user_id = :user_id",
"Vindex": "md5",
"Values": [
":name"
],
"Table": "name_user_map"
}
},
{
"Original": "select user_id from name_user_map where name = :name",
"Instructions": {
"Opcode": "SelectEqualUnique",
"Keyspace": {
"Name": "ks_sharded",
"Sharded": true
},
"Query": "select user_id from name_user_map where name = :name",
"FieldQuery": "select user_id from name_user_map where 1 != 1",
"Vindex": "md5",
"Values": [
":name"
]
}
},
{
"Original": "delete from user where name = :vtg1",
"Instructions": {
"Opcode": "DeleteEqual",
"Keyspace": {
"Name": "ks_sharded",
"Sharded": true
},
"Query": "delete from user where name = :vtg1",
"Vindex": "name_user_map",
"Values": [
":vtg1"
],
"Table": "user",
"Subquery": "select name from user where name = :vtg1 for update"
}
}
],
"TabletActions": {
"ks_sharded/-40": {
"TabletQueries": [
{
"Time": 2,
"SQL": "select name from user where name = :vtg1 for update",
"BindVars": {
"#maxLimit": "10001",
"vtg1": "'billy'"
}
},
{
"Time": 4,
"SQL": "delete from user where name = :vtg1 /* vtgate:: keyspace_id:166b40b44aba4bd6 */",
"BindVars": {
"#maxLimit": "10001",
"vtg1": "'billy'"
}
}
],
"MysqlQueries": [
{
"Time": 2,
"SQL": "begin"
},
{
"Time": 2,
"SQL": "select name from user where name = 'billy' limit 10001 for update"
},
{
"Time": 4,
"SQL": "select id from user where name = 'billy' limit 10001 for update /* vtgate:: keyspace_id:166b40b44aba4bd6 */"
},
{
"Time": 4,
"SQL": "delete from user where id in (1) /* vtgate:: keyspace_id:166b40b44aba4bd6 */"
},
{
"Time": 6,
"SQL": "commit"
}
]
},
"ks_sharded/80-c0": {
"TabletQueries": [
{
"Time": 3,
"SQL": "delete from name_user_map where name = :name and user_id = :user_id /* vtgate:: keyspace_id:a6e89b54b129c33051b76db219595660 */",
"BindVars": {
"#maxLimit": "10001",
"name": "'name_val_1'",
"user_id": "1"
}
}
],
"MysqlQueries": [
{
"Time": 3,
"SQL": "begin"
},
{
"Time": 3,
"SQL": "delete from name_user_map where (name = 'name_val_1' and user_id = 1) /* vtgate:: keyspace_id:a6e89b54b129c33051b76db219595660 */"
},
{
"Time": 7,
"SQL": "commit"
}
]
},
"ks_sharded/c0-": {
"TabletQueries": [
{
"Time": 1,
"SQL": "select user_id from name_user_map where name = :name",
"BindVars": {
"#maxLimit": "10001",
"name": "'billy'"
}
}
],
"MysqlQueries": [
{
"Time": 1,
"SQL": "begin"
},
{
"Time": 1,
"SQL": "select user_id from name_user_map where name = 'billy' limit 10001"
},
{
"Time": 5,
"SQL": "commit"
}
]
}
}
}
]
27 changes: 27 additions & 0 deletions data/test/vtexplain/deletesharded-output.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
----------------------------------------------------------------------
delete from user where id=10

1 ks_sharded/40-80: begin
1 ks_sharded/40-80: select name from user where id = 10 limit 10001 for update
2 ks_sharded/80-c0: begin
2 ks_sharded/80-c0: delete from name_user_map where (name = 'name_val_1' and user_id = 10) /* vtgate:: keyspace_id:a6e89b54b129c33051b76db219595660 */
3 ks_sharded/40-80: delete from user where id in (10) /* vtgate:: keyspace_id:594764e1a2b2d98e */
4 ks_sharded/40-80: commit
5 ks_sharded/80-c0: commit

----------------------------------------------------------------------
delete from user where name='billy'

1 ks_sharded/c0-: begin
1 ks_sharded/c0-: select user_id from name_user_map where name = 'billy' limit 10001
2 ks_sharded/-40: begin
2 ks_sharded/-40: select name from user where name = 'billy' limit 10001 for update
3 ks_sharded/80-c0: begin
3 ks_sharded/80-c0: delete from name_user_map where (name = 'name_val_1' and user_id = 1) /* vtgate:: keyspace_id:a6e89b54b129c33051b76db219595660 */
4 ks_sharded/-40: select id from user where name = 'billy' limit 10001 for update /* vtgate:: keyspace_id:166b40b44aba4bd6 */
4 ks_sharded/-40: delete from user where id in (1) /* vtgate:: keyspace_id:166b40b44aba4bd6 */
5 ks_sharded/c0-: commit
6 ks_sharded/-40: commit
7 ks_sharded/80-c0: commit

----------------------------------------------------------------------
5 changes: 5 additions & 0 deletions data/test/vtexplain/deletesharded-queries.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
delete from user where id=10;
delete from user where name='billy';

/* not supported - multi-shard delete */
--delete from user where pet='rover';
Loading