Skip to content
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

Support for CALL procedures #7287

Merged
merged 31 commits into from Jan 27, 2021
Merged

Conversation

systay
Copy link
Collaborator

@systay systay commented Jan 12, 2021

This PR makes it possible to run CALL queries against vtgate.

For now, this is only allowed if either specifically target specific shards, or if you are running on an unsharded keyspace.

  • Parsing CALL
  • vtgate/vttablet planning of CALL
  • Table should read multi results from MySQL server
    - [x] Send multi results from tablet over grpc
    - [ ] Send multi results from vtgate to client over mysql protocol
  • Write docs CALL proc is now supported website#672
  • Check the state of the connection to MySQL from the tablet after running a sproc, so no transactions are left open
    - [ ] Make sure CALL works in both streaming and non-streaming modes It will be handled in separate PR

go/mysql/endtoend/client_test.go Outdated Show resolved Hide resolved
go/test/endtoend/cluster/vtctlclient_process.go Outdated Show resolved Hide resolved
go/test/endtoend/vtgate/unsharded/main_test.go Outdated Show resolved Hide resolved
go/vt/sqlparser/sql.y Show resolved Hide resolved
go/vt/vtgate/planbuilder/call_proc.go Outdated Show resolved Hide resolved
go/vt/vttablet/tabletserver/query_executor.go Outdated Show resolved Hide resolved
systay and others added 14 commits January 20, 2021 14:35
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>

Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
… transaction

Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
… open

Signed-off-by: Harshit Gangal <harshit@planetscale.com>
…ing stored procedure

Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
go/sqltypes/result.go Outdated Show resolved Hide resolved
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
* make sure to rewrite queries when vtgate plans
* make sure to use the generated query on the tablet
* check for INOUT/OUT params errors and rewrite the error message

Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
@harshit-gangal harshit-gangal mentioned this pull request Jan 27, 2021
9 tasks
@harshit-gangal harshit-gangal merged commit 68286d9 into vitessio:master Jan 27, 2021
@harshit-gangal harshit-gangal deleted the call-proc branch January 27, 2021 12:30
@askdba askdba added this to the v10.0 milestone Feb 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants