diff --git a/.github/workflows/assign_milestone.yml b/.github/workflows/assign_milestone.yml
index 5986ce47a44..2eb70f1a24f 100644
--- a/.github/workflows/assign_milestone.yml
+++ b/.github/workflows/assign_milestone.yml
@@ -18,13 +18,14 @@ jobs:
steps:
- name: Set up Go
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Checkout code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Assign Milestone
run: |
gh pr edit ${{ github.event.number }} --milestone "v$(sed -n 's/.*versionName.*\"\([[:digit:]\.]*\).*\"/\1/p' ./go/vt/servenv/version.go)"
+
diff --git a/.github/workflows/auto_approve_pr.yml b/.github/workflows/auto_approve_pr.yml
index 552f1ec2e68..6b5e4a1a3f0 100644
--- a/.github/workflows/auto_approve_pr.yml
+++ b/.github/workflows/auto_approve_pr.yml
@@ -9,8 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
- uses: actions/checkout@v3
-
+ uses: actions/checkout@v4
- name: Auto Approve Pull Request
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/check_make_vtadmin_authz_testgen.yml b/.github/workflows/check_make_vtadmin_authz_testgen.yml
index 5738eebf38c..c4d70111e25 100644
--- a/.github/workflows/check_make_vtadmin_authz_testgen.yml
+++ b/.github/workflows/check_make_vtadmin_authz_testgen.yml
@@ -27,7 +27,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -47,10 +47,10 @@ jobs:
- '.github/workflows/check_make_vtadmin_authz_testgen.yml'
- name: Set up Go
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.vtadmin_changes == 'true'
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.vtadmin_changes == 'true'
@@ -75,3 +75,4 @@ jobs:
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.vtadmin_changes == 'true'
run: |
tools/check_make_vtadmin_authz_testgen.sh
+
diff --git a/.github/workflows/check_make_vtadmin_web_proto.yml b/.github/workflows/check_make_vtadmin_web_proto.yml
index 05ce6992233..0e25a527a76 100644
--- a/.github/workflows/check_make_vtadmin_web_proto.yml
+++ b/.github/workflows/check_make_vtadmin_web_proto.yml
@@ -27,7 +27,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -49,14 +49,14 @@ jobs:
- '.github/workflows/check_make_vtadmin_web_proto.yml'
- name: Set up Go
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.proto_changes == 'true'
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Setup Node
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.proto_changes == 'true'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
# node-version should match package.json
node-version: '16.19.0'
@@ -70,3 +70,4 @@ jobs:
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.proto_changes == 'true'
run: |
tools/check_make_vtadmin_web_proto.sh
+
diff --git a/.github/workflows/cluster_endtoend_12.yml b/.github/workflows/cluster_endtoend_12.yml
index 625191cf5bf..fc1f6c82d70 100644
--- a/.github/workflows/cluster_endtoend_12.yml
+++ b/.github/workflows/cluster_endtoend_12.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_13.yml b/.github/workflows/cluster_endtoend_13.yml
index 085d46c6263..1b372b03b5c 100644
--- a/.github/workflows/cluster_endtoend_13.yml
+++ b/.github/workflows/cluster_endtoend_13.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_15.yml b/.github/workflows/cluster_endtoend_15.yml
index cfccf2accdc..01e07d2573a 100644
--- a/.github/workflows/cluster_endtoend_15.yml
+++ b/.github/workflows/cluster_endtoend_15.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_18.yml b/.github/workflows/cluster_endtoend_18.yml
index d21e11ecc2d..cba15f0527c 100644
--- a/.github/workflows/cluster_endtoend_18.yml
+++ b/.github/workflows/cluster_endtoend_18.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_21.yml b/.github/workflows/cluster_endtoend_21.yml
index 5ecc2c0ba19..ff44d3ed308 100644
--- a/.github/workflows/cluster_endtoend_21.yml
+++ b/.github/workflows/cluster_endtoend_21.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_22.yml b/.github/workflows/cluster_endtoend_22.yml
index d5505a9ad98..3af8c3bd997 100644
--- a/.github/workflows/cluster_endtoend_22.yml
+++ b/.github/workflows/cluster_endtoend_22.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_backup_pitr.yml b/.github/workflows/cluster_endtoend_backup_pitr.yml
index 9b8ee3b4f3f..6e1de9b5742 100644
--- a/.github/workflows/cluster_endtoend_backup_pitr.yml
+++ b/.github/workflows/cluster_endtoend_backup_pitr.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_backup_pitr_mysql57.yml b/.github/workflows/cluster_endtoend_backup_pitr_mysql57.yml
index c2fc918006f..be938c48c27 100644
--- a/.github/workflows/cluster_endtoend_backup_pitr_mysql57.yml
+++ b/.github/workflows/cluster_endtoend_backup_pitr_mysql57.yml
@@ -42,7 +42,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -68,13 +68,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_ers_prs_newfeatures_heavy.yml b/.github/workflows/cluster_endtoend_ers_prs_newfeatures_heavy.yml
index 2a09fdaf52c..f2e4fd3068b 100644
--- a/.github/workflows/cluster_endtoend_ers_prs_newfeatures_heavy.yml
+++ b/.github/workflows/cluster_endtoend_ers_prs_newfeatures_heavy.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_mysql80.yml b/.github/workflows/cluster_endtoend_mysql80.yml
index 57385bb99d1..b507b7c8da6 100644
--- a/.github/workflows/cluster_endtoend_mysql80.yml
+++ b/.github/workflows/cluster_endtoend_mysql80.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_mysql_server_vault.yml b/.github/workflows/cluster_endtoend_mysql_server_vault.yml
index 1bffa70357f..c6de7d4be1d 100644
--- a/.github/workflows/cluster_endtoend_mysql_server_vault.yml
+++ b/.github/workflows/cluster_endtoend_mysql_server_vault.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_onlineddl_ghost.yml b/.github/workflows/cluster_endtoend_onlineddl_ghost.yml
index 15d4ed2e04f..d236ed4220c 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_ghost.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_ghost.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_onlineddl_ghost_mysql57.yml b/.github/workflows/cluster_endtoend_onlineddl_ghost_mysql57.yml
index c8e730c6d73..b4fcdfe89dd 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_ghost_mysql57.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_ghost_mysql57.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_onlineddl_revert.yml b/.github/workflows/cluster_endtoend_onlineddl_revert.yml
index 55cfe89d828..7505c1e347a 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_revert.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_revert.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_onlineddl_revert_mysql57.yml b/.github/workflows/cluster_endtoend_onlineddl_revert_mysql57.yml
index 0ae4b407c6d..6da91d92109 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_revert_mysql57.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_revert_mysql57.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_onlineddl_scheduler.yml b/.github/workflows/cluster_endtoend_onlineddl_scheduler.yml
index 6fceba140f6..843c8080d26 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_scheduler.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_scheduler.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_onlineddl_scheduler_mysql57.yml b/.github/workflows/cluster_endtoend_onlineddl_scheduler_mysql57.yml
index 0873bb36afd..f793a082d7d 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_scheduler_mysql57.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_scheduler_mysql57.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl.yml
index 6a61fcb1ed5..8e0717bdff9 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_vrepl.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl_mysql57.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl_mysql57.yml
index 38b0bdf3882..997a8fb18c9 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_vrepl_mysql57.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl_mysql57.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress.yml
index 1799fc06b44..9b1e6bf1ada 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_mysql57.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_mysql57.yml
index 96d8cbd1756..dbefd0475e7 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_mysql57.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_mysql57.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite.yml
index 1ad8bd3c387..299a6c72c0f 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite_mysql57.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite_mysql57.yml
index 29fbc27c7fd..5ede1e5c3ed 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite_mysql57.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite_mysql57.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite.yml
index 08bdf0054a6..bf59e11ffc3 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite_mysql57.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite_mysql57.yml
index 941207c23c5..b2b3df85102 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite_mysql57.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite_mysql57.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_schemadiff_vrepl.yml b/.github/workflows/cluster_endtoend_schemadiff_vrepl.yml
index 7ca27ddd4c5..cefe3c07f39 100644
--- a/.github/workflows/cluster_endtoend_schemadiff_vrepl.yml
+++ b/.github/workflows/cluster_endtoend_schemadiff_vrepl.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_schemadiff_vrepl_mysql57.yml b/.github/workflows/cluster_endtoend_schemadiff_vrepl_mysql57.yml
index 49172644643..8e982eb38f6 100644
--- a/.github/workflows/cluster_endtoend_schemadiff_vrepl_mysql57.yml
+++ b/.github/workflows/cluster_endtoend_schemadiff_vrepl_mysql57.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_tabletmanager_consul.yml b/.github/workflows/cluster_endtoend_tabletmanager_consul.yml
index a4c00a6ed0c..f749b443b69 100644
--- a/.github/workflows/cluster_endtoend_tabletmanager_consul.yml
+++ b/.github/workflows/cluster_endtoend_tabletmanager_consul.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_tabletmanager_tablegc.yml b/.github/workflows/cluster_endtoend_tabletmanager_tablegc.yml
index e79cc4329e4..46c4335e2e1 100644
--- a/.github/workflows/cluster_endtoend_tabletmanager_tablegc.yml
+++ b/.github/workflows/cluster_endtoend_tabletmanager_tablegc.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_tabletmanager_tablegc_mysql57.yml b/.github/workflows/cluster_endtoend_tabletmanager_tablegc_mysql57.yml
index 8736d3a5131..66e80f20b8a 100644
--- a/.github/workflows/cluster_endtoend_tabletmanager_tablegc_mysql57.yml
+++ b/.github/workflows/cluster_endtoend_tabletmanager_tablegc_mysql57.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_tabletmanager_throttler.yml b/.github/workflows/cluster_endtoend_tabletmanager_throttler.yml
index b645ae4dbdc..fdee23f23ea 100644
--- a/.github/workflows/cluster_endtoend_tabletmanager_throttler.yml
+++ b/.github/workflows/cluster_endtoend_tabletmanager_throttler.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_tabletmanager_throttler_custom_config.yml b/.github/workflows/cluster_endtoend_tabletmanager_throttler_custom_config.yml
index 3d26ff49548..a6b017e6bb7 100644
--- a/.github/workflows/cluster_endtoend_tabletmanager_throttler_custom_config.yml
+++ b/.github/workflows/cluster_endtoend_tabletmanager_throttler_custom_config.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_tabletmanager_throttler_topo.yml b/.github/workflows/cluster_endtoend_tabletmanager_throttler_topo.yml
index 0b778978649..563c24923a6 100644
--- a/.github/workflows/cluster_endtoend_tabletmanager_throttler_topo.yml
+++ b/.github/workflows/cluster_endtoend_tabletmanager_throttler_topo.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_topo_connection_cache.yml b/.github/workflows/cluster_endtoend_topo_connection_cache.yml
index 82e449f0eb7..b3d94c592dd 100644
--- a/.github/workflows/cluster_endtoend_topo_connection_cache.yml
+++ b/.github/workflows/cluster_endtoend_topo_connection_cache.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vreplication_across_db_versions.yml b/.github/workflows/cluster_endtoend_vreplication_across_db_versions.yml
index 103a39b8049..d477623dccf 100644
--- a/.github/workflows/cluster_endtoend_vreplication_across_db_versions.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_across_db_versions.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vreplication_basic.yml b/.github/workflows/cluster_endtoend_vreplication_basic.yml
index de66c6da4a6..6e1dbaf5100 100644
--- a/.github/workflows/cluster_endtoend_vreplication_basic.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_basic.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vreplication_cellalias.yml b/.github/workflows/cluster_endtoend_vreplication_cellalias.yml
index 7a8d13b82ce..d64da405590 100644
--- a/.github/workflows/cluster_endtoend_vreplication_cellalias.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_cellalias.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vreplication_migrate_vdiff2_convert_tz.yml b/.github/workflows/cluster_endtoend_vreplication_migrate_vdiff2_convert_tz.yml
index 5359935feef..ebb73b70148 100644
--- a/.github/workflows/cluster_endtoend_vreplication_migrate_vdiff2_convert_tz.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_migrate_vdiff2_convert_tz.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vreplication_multicell.yml b/.github/workflows/cluster_endtoend_vreplication_multicell.yml
index 53eff87cde8..2778c4315e2 100644
--- a/.github/workflows/cluster_endtoend_vreplication_multicell.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_multicell.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vreplication_v2.yml b/.github/workflows/cluster_endtoend_vreplication_v2.yml
index 169dfdbbea4..fa3b755a545 100644
--- a/.github/workflows/cluster_endtoend_vreplication_v2.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_v2.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vstream_failover.yml b/.github/workflows/cluster_endtoend_vstream_failover.yml
index e5c6e2a95e3..0d17b3ef0c7 100644
--- a/.github/workflows/cluster_endtoend_vstream_failover.yml
+++ b/.github/workflows/cluster_endtoend_vstream_failover.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vstream_stoponreshard_false.yml b/.github/workflows/cluster_endtoend_vstream_stoponreshard_false.yml
index fc8a29818b2..0c9f7993d70 100644
--- a/.github/workflows/cluster_endtoend_vstream_stoponreshard_false.yml
+++ b/.github/workflows/cluster_endtoend_vstream_stoponreshard_false.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vstream_stoponreshard_true.yml b/.github/workflows/cluster_endtoend_vstream_stoponreshard_true.yml
index 2f05412e82f..e345c94b783 100644
--- a/.github/workflows/cluster_endtoend_vstream_stoponreshard_true.yml
+++ b/.github/workflows/cluster_endtoend_vstream_stoponreshard_true.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vstream_with_keyspaces_to_watch.yml b/.github/workflows/cluster_endtoend_vstream_with_keyspaces_to_watch.yml
index 5ab21f314d4..7eed654dd50 100644
--- a/.github/workflows/cluster_endtoend_vstream_with_keyspaces_to_watch.yml
+++ b/.github/workflows/cluster_endtoend_vstream_with_keyspaces_to_watch.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtbackup.yml b/.github/workflows/cluster_endtoend_vtbackup.yml
index 31b201a7180..8dc0a042e9a 100644
--- a/.github/workflows/cluster_endtoend_vtbackup.yml
+++ b/.github/workflows/cluster_endtoend_vtbackup.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtctlbackup_sharded_clustertest_heavy.yml b/.github/workflows/cluster_endtoend_vtctlbackup_sharded_clustertest_heavy.yml
index c7eafb5bc23..7f0b6599a9d 100644
--- a/.github/workflows/cluster_endtoend_vtctlbackup_sharded_clustertest_heavy.yml
+++ b/.github/workflows/cluster_endtoend_vtctlbackup_sharded_clustertest_heavy.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_concurrentdml.yml b/.github/workflows/cluster_endtoend_vtgate_concurrentdml.yml
index 2ad292f888a..577a01a5903 100644
--- a/.github/workflows/cluster_endtoend_vtgate_concurrentdml.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_concurrentdml.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_gen4.yml b/.github/workflows/cluster_endtoend_vtgate_gen4.yml
index 0d8e970ec55..da3ba5039b2 100644
--- a/.github/workflows/cluster_endtoend_vtgate_gen4.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_gen4.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_general_heavy.yml b/.github/workflows/cluster_endtoend_vtgate_general_heavy.yml
index 3f7bda0297f..1083b02023e 100644
--- a/.github/workflows/cluster_endtoend_vtgate_general_heavy.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_general_heavy.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_godriver.yml b/.github/workflows/cluster_endtoend_vtgate_godriver.yml
index 7b67c56cf7a..46701a64bdc 100644
--- a/.github/workflows/cluster_endtoend_vtgate_godriver.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_godriver.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_partial_keyspace.yml b/.github/workflows/cluster_endtoend_vtgate_partial_keyspace.yml
index 4d2547ba945..080f0262ddb 100644
--- a/.github/workflows/cluster_endtoend_vtgate_partial_keyspace.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_partial_keyspace.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_queries.yml b/.github/workflows/cluster_endtoend_vtgate_queries.yml
index c43231701a1..454cb906983 100644
--- a/.github/workflows/cluster_endtoend_vtgate_queries.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_queries.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_readafterwrite.yml b/.github/workflows/cluster_endtoend_vtgate_readafterwrite.yml
index 347d07af8b5..ac49c0c60a7 100644
--- a/.github/workflows/cluster_endtoend_vtgate_readafterwrite.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_readafterwrite.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_reservedconn.yml b/.github/workflows/cluster_endtoend_vtgate_reservedconn.yml
index 4eb1c8b2a00..0d66781b405 100644
--- a/.github/workflows/cluster_endtoend_vtgate_reservedconn.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_reservedconn.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_schema.yml b/.github/workflows/cluster_endtoend_vtgate_schema.yml
index 16be1f825ff..f3aae736e1d 100644
--- a/.github/workflows/cluster_endtoend_vtgate_schema.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_schema.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_schema_tracker.yml b/.github/workflows/cluster_endtoend_vtgate_schema_tracker.yml
index 67fcc1e1cb0..3e560e99382 100644
--- a/.github/workflows/cluster_endtoend_vtgate_schema_tracker.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_schema_tracker.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_tablet_healthcheck_cache.yml b/.github/workflows/cluster_endtoend_vtgate_tablet_healthcheck_cache.yml
index 49c59088213..b80a19bb28d 100644
--- a/.github/workflows/cluster_endtoend_vtgate_tablet_healthcheck_cache.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_tablet_healthcheck_cache.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_topo.yml b/.github/workflows/cluster_endtoend_vtgate_topo.yml
index e156c500215..4b5bfd192e4 100644
--- a/.github/workflows/cluster_endtoend_vtgate_topo.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_topo.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_topo_consul.yml b/.github/workflows/cluster_endtoend_vtgate_topo_consul.yml
index 3e241b7be78..b95068f1beb 100644
--- a/.github/workflows/cluster_endtoend_vtgate_topo_consul.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_topo_consul.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_topo_etcd.yml b/.github/workflows/cluster_endtoend_vtgate_topo_etcd.yml
index 10a461ff278..275a9eb3915 100644
--- a/.github/workflows/cluster_endtoend_vtgate_topo_etcd.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_topo_etcd.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_transaction.yml b/.github/workflows/cluster_endtoend_vtgate_transaction.yml
index 4341b98b41c..34314036761 100644
--- a/.github/workflows/cluster_endtoend_vtgate_transaction.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_transaction.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_unsharded.yml b/.github/workflows/cluster_endtoend_vtgate_unsharded.yml
index 8e9c17813be..9b828a67233 100644
--- a/.github/workflows/cluster_endtoend_vtgate_unsharded.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_unsharded.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_vindex_heavy.yml b/.github/workflows/cluster_endtoend_vtgate_vindex_heavy.yml
index 9c4d3ca06c2..2aaae45f611 100644
--- a/.github/workflows/cluster_endtoend_vtgate_vindex_heavy.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_vindex_heavy.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtgate_vschema.yml b/.github/workflows/cluster_endtoend_vtgate_vschema.yml
index 8bb51bc9ca2..962ab9dbdef 100644
--- a/.github/workflows/cluster_endtoend_vtgate_vschema.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_vschema.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtorc.yml b/.github/workflows/cluster_endtoend_vtorc.yml
index 2a9610a6c3b..369581c465e 100644
--- a/.github/workflows/cluster_endtoend_vtorc.yml
+++ b/.github/workflows/cluster_endtoend_vtorc.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vtorc_mysql57.yml b/.github/workflows/cluster_endtoend_vtorc_mysql57.yml
index 685a239b0ba..d4e1319f40d 100644
--- a/.github/workflows/cluster_endtoend_vtorc_mysql57.yml
+++ b/.github/workflows/cluster_endtoend_vtorc_mysql57.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_vttablet_prscomplex.yml b/.github/workflows/cluster_endtoend_vttablet_prscomplex.yml
index 8a583699e07..49cdaa24f7b 100644
--- a/.github/workflows/cluster_endtoend_vttablet_prscomplex.yml
+++ b/.github/workflows/cluster_endtoend_vttablet_prscomplex.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_xb_backup.yml b/.github/workflows/cluster_endtoend_xb_backup.yml
index e93df42b12d..f98735805b2 100644
--- a/.github/workflows/cluster_endtoend_xb_backup.yml
+++ b/.github/workflows/cluster_endtoend_xb_backup.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_xb_backup_mysql57.yml b/.github/workflows/cluster_endtoend_xb_backup_mysql57.yml
index 7ff44d3c5ad..7be9706c0db 100644
--- a/.github/workflows/cluster_endtoend_xb_backup_mysql57.yml
+++ b/.github/workflows/cluster_endtoend_xb_backup_mysql57.yml
@@ -42,7 +42,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -68,13 +68,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_xb_recovery.yml b/.github/workflows/cluster_endtoend_xb_recovery.yml
index dad3a50e431..b244912e88a 100644
--- a/.github/workflows/cluster_endtoend_xb_recovery.yml
+++ b/.github/workflows/cluster_endtoend_xb_recovery.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -64,13 +64,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/cluster_endtoend_xb_recovery_mysql57.yml b/.github/workflows/cluster_endtoend_xb_recovery_mysql57.yml
index 4e821bacfd8..f94cf471946 100644
--- a/.github/workflows/cluster_endtoend_xb_recovery_mysql57.yml
+++ b/.github/workflows/cluster_endtoend_xb_recovery_mysql57.yml
@@ -42,7 +42,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -68,13 +68,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/codeql_analysis.yml b/.github/workflows/codeql_analysis.yml
index ee77c43328d..ff9ea3dfec7 100644
--- a/.github/workflows/codeql_analysis.yml
+++ b/.github/workflows/codeql_analysis.yml
@@ -27,11 +27,16 @@ jobs:
steps:
- name: Checkout repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
+
+ - name: Set up Go
+ uses: actions/setup-go@v5
+ with:
+ go-version: 1.21.10
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@v2
+ uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify cu stom queries, you can do so here or in a config file.
@@ -41,11 +46,6 @@ jobs:
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
- - name: Set up Go
- uses: actions/setup-go@v4
- with:
- go-version: 1.20.13
-
- name: Get base dependencies
run: |
sudo DEBIAN_FRONTEND="noninteractive" apt-get update
@@ -88,7 +88,7 @@ jobs:
make build
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v2
+ uses: github/codeql-action/analyze@v3
- name: Slack Workflow Notification
if: ${{ failure() }}
@@ -103,3 +103,4 @@ jobs:
if: ${{ failure() }}
run: |
exit 1
+
diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml
index 50182b96d86..2953142b855 100644
--- a/.github/workflows/create_release.yml
+++ b/.github/workflows/create_release.yml
@@ -18,16 +18,16 @@ jobs:
steps:
- name: Set up Go
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Tune the OS
run: |
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
- name: Check out code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Get dependencies
run: |
@@ -45,3 +45,4 @@ jobs:
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
pattern: "releases/*.{tar.gz,rpm,deb}"
+
diff --git a/.github/workflows/docker_build_base.yml b/.github/workflows/docker_build_base.yml
index 00848e2518e..e40a029125a 100644
--- a/.github/workflows/docker_build_base.yml
+++ b/.github/workflows/docker_build_base.yml
@@ -25,7 +25,7 @@ jobs:
steps:
- name: Check out code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
@@ -87,7 +87,7 @@ jobs:
steps:
- name: Check out code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
@@ -181,7 +181,7 @@ jobs:
steps:
- name: Check out code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
diff --git a/.github/workflows/docker_build_lite.yml b/.github/workflows/docker_build_lite.yml
index 7f355ddfd32..80cc888239b 100644
--- a/.github/workflows/docker_build_lite.yml
+++ b/.github/workflows/docker_build_lite.yml
@@ -25,7 +25,7 @@ jobs:
steps:
- name: Check out code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
diff --git a/.github/workflows/docker_build_vttestserver.yml b/.github/workflows/docker_build_vttestserver.yml
index 1223700527b..927e55be3e0 100644
--- a/.github/workflows/docker_build_vttestserver.yml
+++ b/.github/workflows/docker_build_vttestserver.yml
@@ -25,7 +25,7 @@ jobs:
steps:
- name: Check out code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
diff --git a/.github/workflows/docker_test_cluster_10.yml b/.github/workflows/docker_test_cluster_10.yml
index ba6c014c062..293aae1400b 100644
--- a/.github/workflows/docker_test_cluster_10.yml
+++ b/.github/workflows/docker_test_cluster_10.yml
@@ -27,7 +27,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -52,9 +52,9 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -66,3 +66,4 @@ jobs:
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
run: |
go run test.go -docker=true --follow -shard 10
+
diff --git a/.github/workflows/docker_test_cluster_25.yml b/.github/workflows/docker_test_cluster_25.yml
index e42afe61f3e..a002c3fda99 100644
--- a/.github/workflows/docker_test_cluster_25.yml
+++ b/.github/workflows/docker_test_cluster_25.yml
@@ -27,7 +27,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -52,9 +52,9 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -65,3 +65,4 @@ jobs:
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
run: |
go run test.go -docker=true --follow -shard 25
+
diff --git a/.github/workflows/e2e_race.yml b/.github/workflows/e2e_race.yml
index 6f499b88bb7..77efa5babbf 100644
--- a/.github/workflows/e2e_race.yml
+++ b/.github/workflows/e2e_race.yml
@@ -26,7 +26,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -50,9 +50,9 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -88,3 +88,4 @@ jobs:
timeout-minutes: 30
run: |
make e2e_test_race
+
diff --git a/.github/workflows/endtoend.yml b/.github/workflows/endtoend.yml
index 06761dccfc4..008fa3c6041 100644
--- a/.github/workflows/endtoend.yml
+++ b/.github/workflows/endtoend.yml
@@ -26,7 +26,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -50,9 +50,9 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -85,3 +85,4 @@ jobs:
timeout-minutes: 30
run: |
eatmydata -- tools/e2e_test_runner.sh
+
diff --git a/.github/workflows/local_example.yml b/.github/workflows/local_example.yml
index 93f27ba2630..654435e66a5 100644
--- a/.github/workflows/local_example.yml
+++ b/.github/workflows/local_example.yml
@@ -31,7 +31,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -56,9 +56,9 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.examples == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.examples == 'true'
@@ -107,3 +107,4 @@ jobs:
export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"
fi
eatmydata -- go run test.go -print-log -follow -retry=1 local_example
+
diff --git a/.github/workflows/region_example.yml b/.github/workflows/region_example.yml
index 51baf6d90d4..9e36f8bc4b6 100644
--- a/.github/workflows/region_example.yml
+++ b/.github/workflows/region_example.yml
@@ -31,7 +31,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -56,9 +56,9 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.examples == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.examples == 'true'
@@ -107,3 +107,4 @@ jobs:
export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"
fi
eatmydata -- go run test.go -print-log -follow -retry=1 region_example
+
diff --git a/.github/workflows/static_checks_etc.yml b/.github/workflows/static_checks_etc.yml
index a6b751f221e..fa0c8ea156b 100644
--- a/.github/workflows/static_checks_etc.yml
+++ b/.github/workflows/static_checks_etc.yml
@@ -31,7 +31,7 @@ jobs:
- name: Checkout code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in Go files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -104,9 +104,9 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && (steps.changes.outputs.go_files == 'true' || steps.changes.outputs.parser_changes == 'true' || steps.changes.outputs.proto_changes == 'true')
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.go_files == 'true'
@@ -233,3 +233,4 @@ jobs:
echo "$output"
echo ""
exit 1
+
diff --git a/.github/workflows/unit_race.yml b/.github/workflows/unit_race.yml
index a038b23b115..52b4d76cad6 100644
--- a/.github/workflows/unit_race.yml
+++ b/.github/workflows/unit_race.yml
@@ -31,7 +31,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -55,9 +55,9 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
@@ -96,3 +96,4 @@ jobs:
timeout-minutes: 45
run: |
eatmydata -- make unit_test_race
+
diff --git a/.github/workflows/unit_test_mysql57.yml b/.github/workflows/unit_test_mysql57.yml
index c7bd9344754..7258477f5ed 100644
--- a/.github/workflows/unit_test_mysql57.yml
+++ b/.github/workflows/unit_test_mysql57.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -62,13 +62,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
diff --git a/.github/workflows/unit_test_mysql80.yml b/.github/workflows/unit_test_mysql80.yml
index 65716afae5e..a04a1fcbcfb 100644
--- a/.github/workflows/unit_test_mysql80.yml
+++ b/.github/workflows/unit_test_mysql80.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -62,13 +62,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
diff --git a/.github/workflows/update_golang_version.yml b/.github/workflows/update_golang_version.yml
index fc6fdbb38cf..b64d3f92a5c 100644
--- a/.github/workflows/update_golang_version.yml
+++ b/.github/workflows/update_golang_version.yml
@@ -19,12 +19,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Set up Go
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Check out code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}
@@ -85,3 +85,4 @@ jobs:
Benchmark me
Component: General
Type: CI/Build
+
diff --git a/.github/workflows/upgrade_downgrade_test_backups_e2e.yml b/.github/workflows/upgrade_downgrade_test_backups_e2e.yml
index 3bd0ef037eb..a744f53cb1a 100644
--- a/.github/workflows/upgrade_downgrade_test_backups_e2e.yml
+++ b/.github/workflows/upgrade_downgrade_test_backups_e2e.yml
@@ -55,7 +55,7 @@ jobs:
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -90,13 +90,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -126,7 +126,7 @@ jobs:
# Checkout to the last release of Vitess
- name: Check out other version's code (${{ steps.output-previous-release-ref.outputs.previous_release_ref }})
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
@@ -148,7 +148,7 @@ jobs:
# Checkout to this build's commit
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Get dependencies for this commit
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -209,3 +209,4 @@ jobs:
set -x
source build.env
eatmydata -- go run test.go -skip-build -keep-data -docker=false -print-log -follow -tag upgrade_downgrade_backups
+
diff --git a/.github/workflows/upgrade_downgrade_test_backups_e2e_next_release.yml b/.github/workflows/upgrade_downgrade_test_backups_e2e_next_release.yml
index d67c8a7b101..8303c4017d7 100644
--- a/.github/workflows/upgrade_downgrade_test_backups_e2e_next_release.yml
+++ b/.github/workflows/upgrade_downgrade_test_backups_e2e_next_release.yml
@@ -25,7 +25,7 @@ jobs:
fi
- name: Check out commit's code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -72,13 +72,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.21.7
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -108,7 +108,7 @@ jobs:
# Checkout to the next release of Vitess
- name: Check out other version's code (${{ steps.output-next-release-ref.outputs.next_release_ref }})
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
@@ -130,7 +130,7 @@ jobs:
# Checkout to this build's commit
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Get dependencies for this commit
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/upgrade_downgrade_test_backups_manual.yml b/.github/workflows/upgrade_downgrade_test_backups_manual.yml
index 29a59546dd6..715676e95a6 100644
--- a/.github/workflows/upgrade_downgrade_test_backups_manual.yml
+++ b/.github/workflows/upgrade_downgrade_test_backups_manual.yml
@@ -38,7 +38,7 @@ jobs:
# Checkout to this build's commit
- name: Checkout to commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -74,13 +74,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -128,7 +128,7 @@ jobs:
# Checkout to the last release of Vitess
- name: Checkout to the other version's code (${{ steps.output-previous-release-ref.outputs.previous_release_ref }})
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
@@ -150,7 +150,7 @@ jobs:
# Checkout to this build's commit
- name: Checkout to commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Get dependencies for this commit
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -297,3 +297,4 @@ jobs:
run: |
source build.env ; cd examples/local
./401_teardown.sh || true
+
diff --git a/.github/workflows/upgrade_downgrade_test_backups_manual_next_release.yml b/.github/workflows/upgrade_downgrade_test_backups_manual_next_release.yml
index bd2de292e13..95f32487fbc 100644
--- a/.github/workflows/upgrade_downgrade_test_backups_manual_next_release.yml
+++ b/.github/workflows/upgrade_downgrade_test_backups_manual_next_release.yml
@@ -27,7 +27,7 @@ jobs:
# Checkout to this build's commit
- name: Checkout to commit's code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -75,13 +75,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.21.7
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -129,7 +129,7 @@ jobs:
# Checkout to the next release of Vitess
- name: Checkout to the other version's code (${{ steps.output-next-release-ref.outputs.next_release_ref }})
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
@@ -151,7 +151,7 @@ jobs:
# Checkout to this build's commit
- name: Checkout to commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Get dependencies for this commit
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/upgrade_downgrade_test_query_serving_queries.yml b/.github/workflows/upgrade_downgrade_test_query_serving_queries.yml
index 2d045faed76..1765b758157 100644
--- a/.github/workflows/upgrade_downgrade_test_query_serving_queries.yml
+++ b/.github/workflows/upgrade_downgrade_test_query_serving_queries.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -73,13 +73,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -125,7 +125,7 @@ jobs:
# Checkout to the last release of Vitess
- name: Check out other version's code (${{ steps.output-previous-release-ref.outputs.previous_release_ref }})
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
@@ -147,7 +147,7 @@ jobs:
# Checkout to this build's commit
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Get dependencies for this commit
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -216,3 +216,4 @@ jobs:
source build.env
eatmydata -- go run test.go -skip-build -keep-data=false -docker=false -print-log -follow -tag upgrade_downgrade_query_serving_queries
+
diff --git a/.github/workflows/upgrade_downgrade_test_query_serving_queries_next_release.yml b/.github/workflows/upgrade_downgrade_test_query_serving_queries_next_release.yml
index 2ea097ef392..3a6b60cf6b4 100644
--- a/.github/workflows/upgrade_downgrade_test_query_serving_queries_next_release.yml
+++ b/.github/workflows/upgrade_downgrade_test_query_serving_queries_next_release.yml
@@ -27,7 +27,7 @@ jobs:
fi
- name: Check out commit's code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -74,13 +74,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.21.7
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -126,7 +126,7 @@ jobs:
# Checkout to the next release of Vitess
- name: Check out other version's code (${{ steps.output-next-release-ref.outputs.next_release_ref }})
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
@@ -148,7 +148,7 @@ jobs:
# Checkout to this build's commit
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Get dependencies for this commit
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/upgrade_downgrade_test_query_serving_schema.yml b/.github/workflows/upgrade_downgrade_test_query_serving_schema.yml
index b8c97f55ddc..572c17dbeaf 100644
--- a/.github/workflows/upgrade_downgrade_test_query_serving_schema.yml
+++ b/.github/workflows/upgrade_downgrade_test_query_serving_schema.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -73,13 +73,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -125,7 +125,7 @@ jobs:
# Checkout to the last release of Vitess
- name: Check out other version's code (${{ steps.output-previous-release-ref.outputs.previous_release_ref }})
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
@@ -147,7 +147,7 @@ jobs:
# Checkout to this build's commit
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Get dependencies for this commit
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -216,3 +216,4 @@ jobs:
source build.env
eatmydata -- go run test.go -skip-build -keep-data=false -docker=false -print-log -follow -tag upgrade_downgrade_query_serving_schema
+
diff --git a/.github/workflows/upgrade_downgrade_test_query_serving_schema_next_release.yml b/.github/workflows/upgrade_downgrade_test_query_serving_schema_next_release.yml
index 753a0326207..5036c55c11b 100644
--- a/.github/workflows/upgrade_downgrade_test_query_serving_schema_next_release.yml
+++ b/.github/workflows/upgrade_downgrade_test_query_serving_schema_next_release.yml
@@ -27,7 +27,7 @@ jobs:
fi
- name: Check out commit's code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -74,13 +74,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.21.7
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -126,7 +126,7 @@ jobs:
# Checkout to the next release of Vitess
- name: Check out other version's code (${{ steps.output-next-release-ref.outputs.next_release_ref }})
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
@@ -148,7 +148,7 @@ jobs:
# Checkout to this build's commit
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Get dependencies for this commit
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/upgrade_downgrade_test_reparent_new_vtctl.yml b/.github/workflows/upgrade_downgrade_test_reparent_new_vtctl.yml
index c40d359bfca..7ae979791db 100644
--- a/.github/workflows/upgrade_downgrade_test_reparent_new_vtctl.yml
+++ b/.github/workflows/upgrade_downgrade_test_reparent_new_vtctl.yml
@@ -27,7 +27,7 @@ jobs:
fi
- name: Check out commit's code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -74,13 +74,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.21.7
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -126,7 +126,7 @@ jobs:
# Checkout to the next release of Vitess
- name: Check out other version's code (${{ steps.output-next-release-ref.outputs.next_release_ref }})
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
@@ -148,7 +148,7 @@ jobs:
# Checkout to this build's commit
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Get dependencies for this commit
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/upgrade_downgrade_test_reparent_new_vttablet.yml b/.github/workflows/upgrade_downgrade_test_reparent_new_vttablet.yml
index 474e8caa139..05df2967fe3 100644
--- a/.github/workflows/upgrade_downgrade_test_reparent_new_vttablet.yml
+++ b/.github/workflows/upgrade_downgrade_test_reparent_new_vttablet.yml
@@ -27,7 +27,7 @@ jobs:
fi
- name: Check out commit's code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -74,13 +74,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.21.7
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -126,7 +126,7 @@ jobs:
# Checkout to the next release of Vitess
- name: Check out other version's code (${{ steps.output-next-release-ref.outputs.next_release_ref }})
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
@@ -148,7 +148,7 @@ jobs:
# Checkout to this build's commit
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Get dependencies for this commit
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/upgrade_downgrade_test_reparent_old_vtctl.yml b/.github/workflows/upgrade_downgrade_test_reparent_old_vtctl.yml
index f4acab32f37..53eb24a3f75 100644
--- a/.github/workflows/upgrade_downgrade_test_reparent_old_vtctl.yml
+++ b/.github/workflows/upgrade_downgrade_test_reparent_old_vtctl.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -73,13 +73,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -125,7 +125,7 @@ jobs:
# Checkout to the last release of Vitess
- name: Check out other version's code (${{ steps.output-previous-release-ref.outputs.previous_release_ref }})
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
@@ -147,7 +147,7 @@ jobs:
# Checkout to this build's commit
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Get dependencies for this commit
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -186,3 +186,4 @@ jobs:
source build.env
eatmydata -- go run test.go -skip-build -keep-data=false -docker=false -print-log -follow -tag upgrade_downgrade_reparent
+
diff --git a/.github/workflows/upgrade_downgrade_test_reparent_old_vttablet.yml b/.github/workflows/upgrade_downgrade_test_reparent_old_vttablet.yml
index a8df1953edb..d9f1d85fa24 100644
--- a/.github/workflows/upgrade_downgrade_test_reparent_old_vttablet.yml
+++ b/.github/workflows/upgrade_downgrade_test_reparent_old_vttablet.yml
@@ -38,7 +38,7 @@ jobs:
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -73,13 +73,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -125,7 +125,7 @@ jobs:
# Checkout to the last release of Vitess
- name: Check out other version's code (${{ steps.output-previous-release-ref.outputs.previous_release_ref }})
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
@@ -147,7 +147,7 @@ jobs:
# Checkout to this build's commit
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Get dependencies for this commit
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -185,3 +185,4 @@ jobs:
source build.env
eatmydata -- go run test.go -skip-build -keep-data=false -docker=false -print-log -follow -tag upgrade_downgrade_reparent
+
diff --git a/.github/workflows/vtadmin_web_build.yml b/.github/workflows/vtadmin_web_build.yml
index 441561447ee..d09c37493f8 100644
--- a/.github/workflows/vtadmin_web_build.yml
+++ b/.github/workflows/vtadmin_web_build.yml
@@ -35,10 +35,10 @@ jobs:
echo Skip ${skip}
echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
if: steps.skip-workflow.outputs.skip-workflow == 'false'
with:
# node-version should match package.json
diff --git a/.github/workflows/vtadmin_web_lint.yml b/.github/workflows/vtadmin_web_lint.yml
index fe88053ff5a..1d23a8459e7 100644
--- a/.github/workflows/vtadmin_web_lint.yml
+++ b/.github/workflows/vtadmin_web_lint.yml
@@ -35,10 +35,10 @@ jobs:
echo Skip ${skip}
echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
if: steps.skip-workflow.outputs.skip-workflow == 'false'
with:
# node-version should match package.json
diff --git a/.github/workflows/vtadmin_web_unit_tests.yml b/.github/workflows/vtadmin_web_unit_tests.yml
index cab00c8dea9..948f59f4249 100644
--- a/.github/workflows/vtadmin_web_unit_tests.yml
+++ b/.github/workflows/vtadmin_web_unit_tests.yml
@@ -35,10 +35,10 @@ jobs:
echo Skip ${skip}
echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
if: steps.skip-workflow.outputs.skip-workflow == 'false'
with:
# node-version should match package.json
diff --git a/Makefile b/Makefile
index a61c4b9c2fd..e1119763523 100644
--- a/Makefile
+++ b/Makefile
@@ -269,7 +269,7 @@ $(PROTO_GO_OUTS): minimaltools install_protoc-gen-go proto/*.proto
# This rule builds the bootstrap images for all flavors.
DOCKER_IMAGES_FOR_TEST = mysql57 mysql80 percona57 percona80
DOCKER_IMAGES = common $(DOCKER_IMAGES_FOR_TEST)
-BOOTSTRAP_VERSION=18.7
+BOOTSTRAP_VERSION=18.9
ensure_bootstrap_version:
find docker/ -type f -exec sed -i "s/^\(ARG bootstrap_version\)=.*/\1=${BOOTSTRAP_VERSION}/" {} \;
sed -i 's/\(^.*flag.String(\"bootstrap-version\",\) *\"[^\"]\+\"/\1 \"${BOOTSTRAP_VERSION}\"/' test.go
diff --git a/build.env b/build.env
index acd9b7278ae..26831a6eb29 100755
--- a/build.env
+++ b/build.env
@@ -17,7 +17,7 @@
source ./tools/shell_functions.inc
go version >/dev/null 2>&1 || fail "Go is not installed or is not in \$PATH. See https://vitess.io/contributing/build-from-source for install instructions."
-goversion_min 1.20.13 || echo "Go version reported: `go version`. Version 1.20.13+ recommended. See https://vitess.io/contributing/build-from-source for install instructions."
+goversion_min 1.21.10 || echo "Go version reported: `go version`. Version 1.21.10+ recommended. See https://vitess.io/contributing/build-from-source for install instructions."
mkdir -p dist
mkdir -p bin
diff --git a/changelog/17.0/17.0.6/changelog.md b/changelog/17.0/17.0.6/changelog.md
new file mode 100644
index 00000000000..74d8a28a65f
--- /dev/null
+++ b/changelog/17.0/17.0.6/changelog.md
@@ -0,0 +1,49 @@
+# Changelog of Vitess v17.0.6
+
+### Bug fixes
+#### Evalengine
+ * [release-17.0] evalengine: Fix week overflow (#14859) [#14860](https://github.com/vitessio/vitess/pull/14860)
+ * [release-17.0] evalengine: Return evalTemporal types for current date / time (#15079) [#15083](https://github.com/vitessio/vitess/pull/15083)
+#### General
+ * [release-17.0] Protect `ExecuteFetchAsDBA` against multi-statements, excluding a sequence of `CREATE TABLE|VIEW`. (#14954) [#14983](https://github.com/vitessio/vitess/pull/14983)
+#### Online DDL
+ * [release-17.0] VReplication/OnlineDDL: reordering enum values (#15103) [#15350](https://github.com/vitessio/vitess/pull/15350)
+#### Query Serving
+ * [release-17]: Vindexes: Pass context in consistent lookup handleDup (#14653) [#14912](https://github.com/vitessio/vitess/pull/14912)
+ * [release-17.0] evalengine bugfix: handle nil evals correctly when coercing values (#14906) [#14913](https://github.com/vitessio/vitess/pull/14913)
+ * [release-17.0] Fix Go routine leaks in streaming calls (#15293) [#15299](https://github.com/vitessio/vitess/pull/15299)
+ * [release-17.0] SHOW VITESS_REPLICATION_STATUS: Only use replication tracker when it's enabled (#15348) [#15360](https://github.com/vitessio/vitess/pull/15360)
+#### Throttler
+ * [release-17.0] examples: rm heartbeat flags (#14980) [#14998](https://github.com/vitessio/vitess/pull/14998)
+#### vtexplain
+ * [release-17.0] vtexplain: Fix setting up the column information (#15275) [#15280](https://github.com/vitessio/vitess/pull/15280)
+ * [release-17.0] vtexplain: Ensure memory topo is set up for throttler (#15279) [#15283](https://github.com/vitessio/vitess/pull/15283)
+#### vttestserver
+ * [release-17.0] use proper mysql version in the `vttestserver` images (#15235) [#15237](https://github.com/vitessio/vitess/pull/15237)
+### CI/Build
+#### Build/CI
+ * [release-17.0] Fix relevant files listing for `endtoend` CI (#15104) [#15109](https://github.com/vitessio/vitess/pull/15109)
+ * [release-17.0] Remove concurrency group for check labels workflow (#15197) [#15207](https://github.com/vitessio/vitess/pull/15207)
+ * [release-17.0] Update all actions setup to latest versions (#15443) [#15444](https://github.com/vitessio/vitess/pull/15444)
+### Dependabot
+#### General
+ * [release-17.0] Bumps deps and use proper Go version in upgrade tests [#15408](https://github.com/vitessio/vitess/pull/15408)
+#### Java
+ * [release-17.0] build(deps): bump io.netty:netty-handler from 4.1.93.Final to 4.1.94.Final in /java (#14863) [#14880](https://github.com/vitessio/vitess/pull/14880)
+### Documentation
+#### Documentation
+ * [release-17.0] 17.0.6 release notes: ExecuteFetchAsDBA breaking change [#15011](https://github.com/vitessio/vitess/pull/15011)
+### Enhancement
+#### Build/CI
+ * [release-17.0] Update paths filter action (#15254) [#15262](https://github.com/vitessio/vitess/pull/15262)
+### Regression
+#### Throttler
+ * [release-17.0] Enable 'heartbeat_on_demand_duration' in local/examples (#15204) [#15290](https://github.com/vitessio/vitess/pull/15290)
+### Release
+### Testing
+#### Build/CI
+ * [release-17.0] Bump upgrade tests to `go1.21.7` [#15160](https://github.com/vitessio/vitess/pull/15160)
+ * [release-17.0] CI: Address data races on memorytopo Conn.closed (#15365) [#15369](https://github.com/vitessio/vitess/pull/15369)
+#### Query Serving
+ * [release-17.0] Refactor Upgrade downgrade tests (#14782) [#14831](https://github.com/vitessio/vitess/pull/14831)
+
diff --git a/changelog/17.0/17.0.6/release_notes.md b/changelog/17.0/17.0.6/release_notes.md
new file mode 100644
index 00000000000..fd8b9de4a5d
--- /dev/null
+++ b/changelog/17.0/17.0.6/release_notes.md
@@ -0,0 +1,34 @@
+# Release of Vitess v17.0.6
+## Summary
+
+### Table of Contents
+
+- **[Major Changes](#major-changes)**
+ - **[Breaking Changes](#breaking-changes)**
+ - [ExecuteFetchAsDBA rejects multi-statement SQL](#execute-fetch-as-dba-reject-multi)
+
+## Major Changes
+
+### Breaking Changes
+
+#### ExecuteFetchAsDBA rejects multi-statement SQL
+
+`vtctldclient ExecuteFetchAsDBA` (and similarly the `vtctl` and `vtctlclient` commands) now reject multi-statement SQL with error.
+
+For example, `vtctldclient ExecuteFetchAsDBA my-tablet "stop replica; change replication source to auto_position=1; start replica` will return an error, without attempting to execute any of these queries.
+
+Previously, `ExecuteFetchAsDBA` silently accepted multi statement SQL. It would (attempt to) execute all of them, but:
+
+- It would only indicate error for the first statement. Errors on 2nd, 3rd, ... statements were silently ignored.
+- It would not consume the result sets of the 2nd, 3rd, ... statements. It would then return the used connection to the pool in a dirty state. Any further query that happens to take that connection out of the pool could get unexpected results.
+- As another side effect, multi-statement schema changes would cause schema to be reloaded with only the first change, leaving the cached schema inconsistent with the underlying database.
+
+`ExecuteFetchAsDBA` does allow a specific use case of multi-statement SQL, which is where all statements are in the form of `CREATE TABLE` or `CREATE VIEW`. This is to support a common pattern of schema initialization.
+
+------------
+The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/17.0/17.0.6/changelog.md).
+
+The release includes 24 merged Pull Requests.
+
+Thanks to all our contributors: @app/vitess-bot, @frouioui, @harshit-gangal, @shlomi-noach, @systay
+
diff --git a/changelog/17.0/17.0.7/changelog.md b/changelog/17.0/17.0.7/changelog.md
new file mode 100644
index 00000000000..6741780d2e3
--- /dev/null
+++ b/changelog/17.0/17.0.7/changelog.md
@@ -0,0 +1,29 @@
+# Changelog of Vitess v17.0.7
+
+### Bug fixes
+#### Query Serving
+ * [release-17.0] TxThrottler: dont throttle unless lag (#14789) [#15189](https://github.com/vitessio/vitess/pull/15189)
+ * [release-17.0] Fix aliasing in routes that have a derived table (#15550) [#15552](https://github.com/vitessio/vitess/pull/15552)
+ * [release-17.0] fix: don't forget DISTINCT for derived tables (#15672) [#15676](https://github.com/vitessio/vitess/pull/15676)
+ * [release-17.0] Fix wrong assignment to `sql_id_opt` in the parser (#15862) [#15867](https://github.com/vitessio/vitess/pull/15867)
+#### Topology
+ * [release-17.0] Fix ZooKeeper Topology connection locks not being cleaned up correctly (#15757) [#15762](https://github.com/vitessio/vitess/pull/15762)
+#### VReplication
+ * [release-17.0] VReplication: Take replication lag into account in VStreamManager healthcheck result processing (#15761) [#15772](https://github.com/vitessio/vitess/pull/15772)
+#### VTAdmin
+ * [release-17.0] [VTAdmin API] Fix schema cache flag, add documentation (#15704) [#15718](https://github.com/vitessio/vitess/pull/15718)
+### CI/Build
+#### Build/CI
+ * [release-17.0] Update to latest CodeQL (#15530) [#15532](https://github.com/vitessio/vitess/pull/15532)
+ * [release-17.0] Upgrade go version in upgrade tests to `go1.21.9` [#15640](https://github.com/vitessio/vitess/pull/15640)
+#### General
+ * [release-17.0] Upgrade Golang from `v1.20.13` to `v1.21.9` [#15669](https://github.com/vitessio/vitess/pull/15669)
+ * [release-17.0] Upgrade the Golang version to `go1.21.10` [#15863](https://github.com/vitessio/vitess/pull/15863)
+### Performance
+#### VTTablet
+ * [release-17.0] Improve performance for `BaseShowTablesWithSizes` query. (#15713) [#15792](https://github.com/vitessio/vitess/pull/15792)
+### Release
+#### General
+ * [release-17.0] Bump to `v17.0.7-SNAPSHOT` after the `v17.0.6` release [#15487](https://github.com/vitessio/vitess/pull/15487)
+ * [release-17.0] Code Freeze for `v17.0.7` [#15878](https://github.com/vitessio/vitess/pull/15878)
+
diff --git a/changelog/17.0/17.0.7/release_notes.md b/changelog/17.0/17.0.7/release_notes.md
new file mode 100644
index 00000000000..4d4bd64176a
--- /dev/null
+++ b/changelog/17.0/17.0.7/release_notes.md
@@ -0,0 +1,7 @@
+# Release of Vitess v17.0.7
+The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/17.0/17.0.7/changelog.md).
+
+The release includes 14 merged Pull Requests.
+
+Thanks to all our contributors: @app/vitess-bot, @frouioui, @systay, @vitess-bot
+
diff --git a/changelog/17.0/README.md b/changelog/17.0/README.md
index 68ff84f16f1..b58ad9a55d4 100644
--- a/changelog/17.0/README.md
+++ b/changelog/17.0/README.md
@@ -1,5 +1,11 @@
## v17.0
+* **[17.0.7](17.0.7)**
+ * [Changelog](17.0.7/changelog.md)
+ * [Release Notes](17.0.7/release_notes.md)
+
* **[17.0.6](17.0.6)**
+ * [Changelog](17.0.6/changelog.md)
+ * [Release Notes](17.0.6/release_notes.md)
* **[17.0.5](17.0.5)**
* [Changelog](17.0.5/changelog.md)
diff --git a/doc/vtadmin/clusters.yaml b/doc/vtadmin/clusters.yaml
index 55779df60b2..0a7728e4352 100644
--- a/doc/vtadmin/clusters.yaml
+++ b/doc/vtadmin/clusters.yaml
@@ -54,3 +54,24 @@ defaults:
# - schema-read-pool => for GetSchema, GetSchemas, and FindSchema api methods
# - topo-read-pool => for generic topo methods (e.g. GetKeyspace, FindAllShardsInKeyspace)
# - workflow-read-pool => for GetWorkflow/GetWorkflows api methods.
+
+ # How long to keep values in schema cache by default (duration passed to Add takes precedence).
+ # A value of "0m" means values will never be cached, a positive duration "1m" means items will be cached
+ # for that duration, and passing nothing will default to "NoExpiration".
+ schema-cache-default-expiration: 1m
+ # How many outstanding backfil requests to permit in schema cache.
+ # If the queue is full, calls backfill schemas will return false, and those requests will be discarded.
+ # A value of "0" means that the underlying channel will have a size of 0,
+ # and every send to the backfill queue will block until the queue is "empty" again.
+ schema-cache-backfill-queue-size: 0
+ # How often expired values are removed from schema cache.
+ schema-cache-cleanup-interval: 5m
+ # How long a backfill request is considered valid.
+ # If the backfill goroutin encounters a request older than this, it is discarded.
+ schema-cache-backfill-request-ttl: 100ms
+ # How much time must pass before the backfill goroutine will re-backfill the same key.
+ # Used to prevent multiple callers from queueing up too many requests for the same key,
+ # when one backfill would satisfy all of them.
+ schema-cache-backfill-request-duplicate-interval: 1m
+ # How long to wait whe attempting to enqueue a backfill request before giving up.
+ schema-cache-backfill-enqueue-wait-time: 50ms
diff --git a/docker/base/Dockerfile b/docker/base/Dockerfile
index 3f0c546c4d4..eed324d3a02 100644
--- a/docker/base/Dockerfile
+++ b/docker/base/Dockerfile
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-mysql80"
FROM "${image}"
diff --git a/docker/base/Dockerfile.mysql57 b/docker/base/Dockerfile.mysql57
index 2ba94e90dac..ace11706278 100644
--- a/docker/base/Dockerfile.mysql57
+++ b/docker/base/Dockerfile.mysql57
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-mysql57"
FROM "${image}"
diff --git a/docker/base/Dockerfile.percona57 b/docker/base/Dockerfile.percona57
index 76890a9449d..0626d5c1d73 100644
--- a/docker/base/Dockerfile.percona57
+++ b/docker/base/Dockerfile.percona57
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-percona57"
FROM "${image}"
diff --git a/docker/base/Dockerfile.percona80 b/docker/base/Dockerfile.percona80
index af79b25aa5b..83a7275a720 100644
--- a/docker/base/Dockerfile.percona80
+++ b/docker/base/Dockerfile.percona80
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-percona80"
FROM "${image}"
diff --git a/docker/bootstrap/CHANGELOG.md b/docker/bootstrap/CHANGELOG.md
index e476c4a83d8..6fdf368d340 100644
--- a/docker/bootstrap/CHANGELOG.md
+++ b/docker/bootstrap/CHANGELOG.md
@@ -100,4 +100,12 @@ List of changes between bootstrap image versions.
## [18.7] - 2024-01-10
### Changes
-- Update build to golang 1.20.13
\ No newline at end of file
+- Update build to golang 1.20.13
+
+## [18.8] - 2024-04-04
+### Changes
+- Update build to golang 1.21.9
+
+## [18.9] - 2024-05-07
+### Changes
+- Update build to golang 1.21.10
\ No newline at end of file
diff --git a/docker/bootstrap/Dockerfile.common b/docker/bootstrap/Dockerfile.common
index c97cfb72f4b..637af905d94 100644
--- a/docker/bootstrap/Dockerfile.common
+++ b/docker/bootstrap/Dockerfile.common
@@ -1,4 +1,4 @@
-FROM --platform=linux/amd64 golang:1.20.13-bullseye
+FROM --platform=linux/amd64 golang:1.21.10-bullseye
# Install Vitess build dependencies
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
@@ -48,3 +48,4 @@ RUN su vitess -c "mkdir -p /vt/src/vitess.io/vitess/bin && rm -rf /vt/bin && ln
# If the user doesn't specify a command, load a shell.
CMD ["/bin/bash"]
+
diff --git a/docker/lite/Dockerfile.mysql57 b/docker/lite/Dockerfile.mysql57
index dbab79057a2..390e9d6d7da 100644
--- a/docker/lite/Dockerfile.mysql57
+++ b/docker/lite/Dockerfile.mysql57
@@ -17,7 +17,7 @@
# ensure images contain the right binaries.
# Use a temporary layer for the build stage.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-mysql57"
FROM "${image}" AS builder
diff --git a/docker/lite/Dockerfile.mysql80 b/docker/lite/Dockerfile.mysql80
index a5349322a9a..51d63a3df44 100644
--- a/docker/lite/Dockerfile.mysql80
+++ b/docker/lite/Dockerfile.mysql80
@@ -17,7 +17,7 @@
# ensure images contain the right binaries.
# Use a temporary layer for the build stage.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-mysql80"
FROM "${image}" AS builder
diff --git a/docker/lite/Dockerfile.percona57 b/docker/lite/Dockerfile.percona57
index 4994ea34655..95780d0bf75 100644
--- a/docker/lite/Dockerfile.percona57
+++ b/docker/lite/Dockerfile.percona57
@@ -17,7 +17,7 @@
# ensure images contain the right binaries.
# Use a temporary layer for the build stage.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-percona57"
FROM "${image}" AS builder
diff --git a/docker/lite/Dockerfile.percona80 b/docker/lite/Dockerfile.percona80
index 7a8b6570a0f..20b9ce1b131 100644
--- a/docker/lite/Dockerfile.percona80
+++ b/docker/lite/Dockerfile.percona80
@@ -17,7 +17,7 @@
# ensure images contain the right binaries.
# Use a temporary layer for the build stage.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-percona80"
FROM "${image}" AS builder
diff --git a/docker/lite/Dockerfile.testing b/docker/lite/Dockerfile.testing
index 3919e74014c..d47c45ef0df 100644
--- a/docker/lite/Dockerfile.testing
+++ b/docker/lite/Dockerfile.testing
@@ -17,7 +17,7 @@
# ensure images contain the right binaries.
# Use a temporary layer for the build stage.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-mysql57"
FROM "${image}" AS builder
diff --git a/docker/lite/Dockerfile.ubi7.mysql57 b/docker/lite/Dockerfile.ubi7.mysql57
index afb6bb7c0d4..71600a9c3c1 100644
--- a/docker/lite/Dockerfile.ubi7.mysql57
+++ b/docker/lite/Dockerfile.ubi7.mysql57
@@ -17,7 +17,7 @@
# ensure images contain the right binaries.
# Use a temporary layer for the build stage.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-mysql57"
FROM "${image}" AS builder
diff --git a/docker/lite/Dockerfile.ubi7.mysql80 b/docker/lite/Dockerfile.ubi7.mysql80
index 44cf52be34d..d3f3c01165e 100644
--- a/docker/lite/Dockerfile.ubi7.mysql80
+++ b/docker/lite/Dockerfile.ubi7.mysql80
@@ -17,7 +17,7 @@
# ensure images contain the right binaries.
# Use a temporary layer for the build stage.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-mysql80"
FROM "${image}" AS builder
diff --git a/docker/lite/Dockerfile.ubi7.percona57 b/docker/lite/Dockerfile.ubi7.percona57
index 42b3d136471..b7f9405fded 100644
--- a/docker/lite/Dockerfile.ubi7.percona57
+++ b/docker/lite/Dockerfile.ubi7.percona57
@@ -17,7 +17,7 @@
# ensure images contain the right binaries.
# Use a temporary layer for the build stage.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-percona57"
FROM "${image}" AS builder
diff --git a/docker/lite/Dockerfile.ubi7.percona80 b/docker/lite/Dockerfile.ubi7.percona80
index 7619a7fe8a7..6d46bc0fecb 100644
--- a/docker/lite/Dockerfile.ubi7.percona80
+++ b/docker/lite/Dockerfile.ubi7.percona80
@@ -17,7 +17,7 @@
# ensure images contain the right binaries.
# Use a temporary layer for the build stage.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-percona80"
FROM "${image}" AS builder
diff --git a/docker/lite/Dockerfile.ubi8.arm64.mysql80 b/docker/lite/Dockerfile.ubi8.arm64.mysql80
index 0601b2d0f15..62ab3ace125 100644
--- a/docker/lite/Dockerfile.ubi8.arm64.mysql80
+++ b/docker/lite/Dockerfile.ubi8.arm64.mysql80
@@ -17,7 +17,7 @@
# ensure images contain the right binaries.
# Use a temporary layer for the build stage.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-mysql80"
FROM "${image}" AS builder
diff --git a/docker/lite/Dockerfile.ubi8.mysql80 b/docker/lite/Dockerfile.ubi8.mysql80
index 4c91ae8fa8d..4ec2abf5fe3 100644
--- a/docker/lite/Dockerfile.ubi8.mysql80
+++ b/docker/lite/Dockerfile.ubi8.mysql80
@@ -17,7 +17,7 @@
# ensure images contain the right binaries.
# Use a temporary layer for the build stage.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-mysql80"
FROM "${image}" AS builder
diff --git a/docker/local/Dockerfile b/docker/local/Dockerfile
index 0643661649a..d4a7e4795b8 100644
--- a/docker/local/Dockerfile
+++ b/docker/local/Dockerfile
@@ -1,4 +1,4 @@
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-common"
FROM "${image}"
diff --git a/docker/vttestserver/Dockerfile.mysql57 b/docker/vttestserver/Dockerfile.mysql57
index 81c3d6a5979..fd20775461f 100644
--- a/docker/vttestserver/Dockerfile.mysql57
+++ b/docker/vttestserver/Dockerfile.mysql57
@@ -17,7 +17,7 @@
# ensure images contain the right binaries.
# Use a temporary layer for the build stage.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-mysql57"
FROM "${image}" AS builder
diff --git a/docker/vttestserver/Dockerfile.mysql80 b/docker/vttestserver/Dockerfile.mysql80
index 0a85a3832dc..0d62eeedbc5 100644
--- a/docker/vttestserver/Dockerfile.mysql80
+++ b/docker/vttestserver/Dockerfile.mysql80
@@ -17,7 +17,7 @@
# ensure images contain the right binaries.
# Use a temporary layer for the build stage.
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-mysql80"
FROM "${image}" AS builder
diff --git a/examples/compose/docker-compose.beginners.yml b/examples/compose/docker-compose.beginners.yml
index b2bf33a3418..77b9fd9b574 100644
--- a/examples/compose/docker-compose.beginners.yml
+++ b/examples/compose/docker-compose.beginners.yml
@@ -58,7 +58,7 @@ services:
- "3306"
vtctld:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- "15000:$WEB_PORT"
- "$GRPC_PORT"
@@ -81,7 +81,7 @@ services:
condition: service_healthy
vtgate:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- "15099:$WEB_PORT"
- "$GRPC_PORT"
@@ -111,7 +111,7 @@ services:
condition: service_healthy
schemaload:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
command:
- sh
- -c
@@ -144,12 +144,12 @@ services:
environment:
- KEYSPACES=$KEYSPACE
- GRPC_PORT=15999
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- .:/script
vttablet100:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- "15100:$WEB_PORT"
- "$GRPC_PORT"
@@ -181,7 +181,7 @@ services:
retries: 15
vttablet101:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- "15101:$WEB_PORT"
- "$GRPC_PORT"
@@ -213,7 +213,7 @@ services:
retries: 15
vttablet102:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- "15102:$WEB_PORT"
- "$GRPC_PORT"
@@ -245,7 +245,7 @@ services:
retries: 15
vttablet103:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- "15103:$WEB_PORT"
- "$GRPC_PORT"
@@ -277,7 +277,7 @@ services:
retries: 15
vtorc:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
command: ["sh", "-c", "/script/vtorc-up.sh"]
depends_on:
- vtctld
@@ -307,7 +307,7 @@ services:
retries: 15
vreplication:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- ".:/script"
environment:
diff --git a/examples/compose/docker-compose.yml b/examples/compose/docker-compose.yml
index 99926392c52..a76648391b9 100644
--- a/examples/compose/docker-compose.yml
+++ b/examples/compose/docker-compose.yml
@@ -75,7 +75,7 @@ services:
- SCHEMA_FILES=lookup_keyspace_schema_file.sql
- POST_LOAD_FILE=
- EXTERNAL_DB=0
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- .:/script
schemaload_test_keyspace:
@@ -101,7 +101,7 @@ services:
- SCHEMA_FILES=test_keyspace_schema_file.sql
- POST_LOAD_FILE=
- EXTERNAL_DB=0
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- .:/script
set_keyspace_durability_policy:
@@ -115,7 +115,7 @@ services:
environment:
- KEYSPACES=test_keyspace lookup_keyspace
- GRPC_PORT=15999
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- .:/script
vreplication:
@@ -129,7 +129,7 @@ services:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- EXTERNAL_DB=0
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- .:/script
vtctld:
@@ -143,7 +143,7 @@ services:
depends_on:
external_db_host:
condition: service_healthy
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15000:8080
- "15999"
@@ -160,7 +160,7 @@ services:
--normalize_queries=true '
depends_on:
- vtctld
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15099:8080
- "15999"
@@ -182,7 +182,7 @@ services:
- EXTERNAL_DB=0
- DB_USER=
- DB_PASS=
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 13000:8080
volumes:
@@ -217,7 +217,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15101:8080
- "15999"
@@ -254,7 +254,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15102:8080
- "15999"
@@ -291,7 +291,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15201:8080
- "15999"
@@ -328,7 +328,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15202:8080
- "15999"
@@ -365,7 +365,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15301:8080
- "15999"
@@ -402,7 +402,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15302:8080
- "15999"
diff --git a/examples/compose/vtcompose/docker-compose.test.yml b/examples/compose/vtcompose/docker-compose.test.yml
index d56efe28c88..df047e05990 100644
--- a/examples/compose/vtcompose/docker-compose.test.yml
+++ b/examples/compose/vtcompose/docker-compose.test.yml
@@ -79,7 +79,7 @@ services:
- SCHEMA_FILES=test_keyspace_schema_file.sql
- POST_LOAD_FILE=
- EXTERNAL_DB=0
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- .:/script
schemaload_unsharded_keyspace:
@@ -103,7 +103,7 @@ services:
- SCHEMA_FILES=unsharded_keyspace_schema_file.sql
- POST_LOAD_FILE=
- EXTERNAL_DB=0
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- .:/script
set_keyspace_durability_policy_test_keyspace:
@@ -117,7 +117,7 @@ services:
environment:
- GRPC_PORT=15999
- KEYSPACES=test_keyspace
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- .:/script
set_keyspace_durability_policy_unsharded_keyspace:
@@ -130,7 +130,7 @@ services:
environment:
- GRPC_PORT=15999
- KEYSPACES=unsharded_keyspace
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- .:/script
vreplication:
@@ -144,7 +144,7 @@ services:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- EXTERNAL_DB=0
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- .:/script
vtctld:
@@ -159,7 +159,7 @@ services:
depends_on:
external_db_host:
condition: service_healthy
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15000:8080
- "15999"
@@ -176,7 +176,7 @@ services:
''grpc-vtgateservice'' --normalize_queries=true '
depends_on:
- vtctld
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15099:8080
- "15999"
@@ -199,7 +199,7 @@ services:
- EXTERNAL_DB=0
- DB_USER=
- DB_PASS=
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 13000:8080
volumes:
@@ -234,7 +234,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15101:8080
- "15999"
@@ -271,7 +271,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15102:8080
- "15999"
@@ -308,7 +308,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15201:8080
- "15999"
@@ -345,7 +345,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15202:8080
- "15999"
@@ -382,7 +382,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- 15301:8080
- "15999"
diff --git a/examples/compose/vtcompose/vtcompose.go b/examples/compose/vtcompose/vtcompose.go
index c3c84486b4c..91acd254660 100644
--- a/examples/compose/vtcompose/vtcompose.go
+++ b/examples/compose/vtcompose/vtcompose.go
@@ -533,7 +533,7 @@ func generateDefaultShard(tabAlias int, shard string, keyspaceData keyspaceInfo,
- op: add
path: /services/init_shard_primary%[2]d
value:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
command: ["sh", "-c", "/vt/bin/vtctlclient %[5]s InitShardPrimary -force %[4]s/%[3]s %[6]s-%[2]d "]
%[1]s
`, dependsOn, aliases[0], shard, keyspaceData.keyspace, opts.topologyFlags, opts.cell)
@@ -565,7 +565,7 @@ func generateExternalPrimary(
- op: add
path: /services/vttablet%[1]d
value:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- "15%[1]d:%[3]d"
- "%[4]d"
@@ -627,7 +627,7 @@ func generateDefaultTablet(tabAlias int, shard, role, keyspace string, dbInfo ex
- op: add
path: /services/vttablet%[1]d
value:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- "15%[1]d:%[4]d"
- "%[5]d"
@@ -665,7 +665,7 @@ func generateVtctld(opts vtOptions) string {
- op: add
path: /services/vtctld
value:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- "15000:%[1]d"
- "%[2]d"
@@ -696,7 +696,7 @@ func generateVtgate(opts vtOptions) string {
- op: add
path: /services/vtgate
value:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
ports:
- "15099:%[1]d"
- "%[2]d"
@@ -738,7 +738,7 @@ func generateVTOrc(dbInfo externalDbInfo, keyspaceInfoMap map[string]keyspaceInf
- op: add
path: /services/vtorc
value:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- ".:/script"
environment:
@@ -763,7 +763,7 @@ func generateVreplication(dbInfo externalDbInfo, opts vtOptions) string {
- op: add
path: /services/vreplication
value:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- ".:/script"
environment:
@@ -791,7 +791,7 @@ func generateSetKeyspaceDurabilityPolicy(
- op: add
path: /services/set_keyspace_durability_policy_%[3]s
value:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- ".:/script"
environment:
@@ -828,7 +828,7 @@ func generateSchemaload(
- op: add
path: /services/schemaload_%[7]s
value:
- image: vitess/lite:v17.0.5
+ image: vitess/lite:v17.0.7
volumes:
- ".:/script"
environment:
diff --git a/examples/operator/101_initial_cluster.yaml b/examples/operator/101_initial_cluster.yaml
index 00655c1971b..7d2a2dfe73a 100644
--- a/examples/operator/101_initial_cluster.yaml
+++ b/examples/operator/101_initial_cluster.yaml
@@ -8,14 +8,14 @@ metadata:
name: example
spec:
images:
- vtctld: vitess/lite:v17.0.5
- vtadmin: vitess/vtadmin:v17.0.5
- vtgate: vitess/lite:v17.0.5
- vttablet: vitess/lite:v17.0.5
- vtbackup: vitess/lite:v17.0.5
- vtorc: vitess/lite:v17.0.5
+ vtctld: vitess/lite:v17.0.7
+ vtadmin: vitess/vtadmin:v17.0.7
+ vtgate: vitess/lite:v17.0.7
+ vttablet: vitess/lite:v17.0.7
+ vtbackup: vitess/lite:v17.0.7
+ vtorc: vitess/lite:v17.0.7
mysqld:
- mysql80Compatible: vitess/lite:v17.0.5
+ mysql80Compatible: vitess/lite:v17.0.7
mysqldExporter: prom/mysqld-exporter:v0.11.0
cells:
- name: zone1
diff --git a/examples/operator/201_customer_tablets.yaml b/examples/operator/201_customer_tablets.yaml
index 2dab9c0f4a8..1414d697234 100644
--- a/examples/operator/201_customer_tablets.yaml
+++ b/examples/operator/201_customer_tablets.yaml
@@ -4,14 +4,14 @@ metadata:
name: example
spec:
images:
- vtctld: vitess/lite:v17.0.5
- vtadmin: vitess/vtadmin:v17.0.5
- vtgate: vitess/lite:v17.0.5
- vttablet: vitess/lite:v17.0.5
- vtbackup: vitess/lite:v17.0.5
- vtorc: vitess/lite:v17.0.5
+ vtctld: vitess/lite:v17.0.7
+ vtadmin: vitess/vtadmin:v17.0.7
+ vtgate: vitess/lite:v17.0.7
+ vttablet: vitess/lite:v17.0.7
+ vtbackup: vitess/lite:v17.0.7
+ vtorc: vitess/lite:v17.0.7
mysqld:
- mysql80Compatible: vitess/lite:v17.0.5
+ mysql80Compatible: vitess/lite:v17.0.7
mysqldExporter: prom/mysqld-exporter:v0.11.0
cells:
- name: zone1
diff --git a/examples/operator/302_new_shards.yaml b/examples/operator/302_new_shards.yaml
index e234666d17f..7fb5dd3c9ef 100644
--- a/examples/operator/302_new_shards.yaml
+++ b/examples/operator/302_new_shards.yaml
@@ -4,14 +4,14 @@ metadata:
name: example
spec:
images:
- vtctld: vitess/lite:v17.0.5
- vtadmin: vitess/vtadmin:v17.0.5
- vtgate: vitess/lite:v17.0.5
- vttablet: vitess/lite:v17.0.5
- vtbackup: vitess/lite:v17.0.5
- vtorc: vitess/lite:v17.0.5
+ vtctld: vitess/lite:v17.0.7
+ vtadmin: vitess/vtadmin:v17.0.7
+ vtgate: vitess/lite:v17.0.7
+ vttablet: vitess/lite:v17.0.7
+ vtbackup: vitess/lite:v17.0.7
+ vtorc: vitess/lite:v17.0.7
mysqld:
- mysql80Compatible: vitess/lite:v17.0.5
+ mysql80Compatible: vitess/lite:v17.0.7
mysqldExporter: prom/mysqld-exporter:v0.11.0
cells:
- name: zone1
diff --git a/examples/operator/306_down_shard_0.yaml b/examples/operator/306_down_shard_0.yaml
index 4a08d6e42cf..ce2a92c552e 100644
--- a/examples/operator/306_down_shard_0.yaml
+++ b/examples/operator/306_down_shard_0.yaml
@@ -4,14 +4,14 @@ metadata:
name: example
spec:
images:
- vtctld: vitess/lite:v17.0.5
- vtadmin: vitess/vtadmin:v17.0.5
- vtgate: vitess/lite:v17.0.5
- vttablet: vitess/lite:v17.0.5
- vtbackup: vitess/lite:v17.0.5
- vtorc: vitess/lite:v17.0.5
+ vtctld: vitess/lite:v17.0.7
+ vtadmin: vitess/vtadmin:v17.0.7
+ vtgate: vitess/lite:v17.0.7
+ vttablet: vitess/lite:v17.0.7
+ vtbackup: vitess/lite:v17.0.7
+ vtorc: vitess/lite:v17.0.7
mysqld:
- mysql80Compatible: vitess/lite:v17.0.5
+ mysql80Compatible: vitess/lite:v17.0.7
mysqldExporter: prom/mysqld-exporter:v0.11.0
cells:
- name: zone1
diff --git a/go.mod b/go.mod
index c2bc6c3db18..7edf5abc944 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
module vitess.io/vitess
-go 1.20
+go 1.21.10
require (
cloud.google.com/go/storage v1.30.1
@@ -21,7 +21,7 @@ require (
github.com/fsnotify/fsnotify v1.6.0
github.com/go-sql-driver/mysql v1.7.0
github.com/golang/glog v1.1.2
- github.com/golang/protobuf v1.5.3
+ github.com/golang/protobuf v1.5.4
github.com/golang/snappy v0.0.4
github.com/google/go-cmp v0.5.9
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
@@ -73,13 +73,13 @@ require (
go.etcd.io/etcd/client/pkg/v3 v3.5.7
go.etcd.io/etcd/client/v3 v3.5.7
go.uber.org/mock v0.2.0
- golang.org/x/crypto v0.17.0 // indirect
+ golang.org/x/crypto v0.23.0 // indirect
golang.org/x/mod v0.8.0 // indirect
- golang.org/x/net v0.18.0
+ golang.org/x/net v0.25.0
golang.org/x/oauth2 v0.11.0
- golang.org/x/sys v0.15.0 // indirect
- golang.org/x/term v0.15.0
- golang.org/x/text v0.14.0
+ golang.org/x/sys v0.20.0 // indirect
+ golang.org/x/term v0.20.0
+ golang.org/x/text v0.15.0
golang.org/x/time v0.3.0
golang.org/x/tools v0.6.0
google.golang.org/api v0.128.0
@@ -87,7 +87,7 @@ require (
google.golang.org/grpc v1.59.0
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0
google.golang.org/grpc/examples v0.0.0-20210430044426-28078834f35b
- google.golang.org/protobuf v1.31.0
+ google.golang.org/protobuf v1.33.0
gopkg.in/DataDog/dd-trace-go.v1 v1.47.0
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d // indirect
gopkg.in/gcfg.v1 v1.2.3
diff --git a/go.sum b/go.sum
index 6c2b0814140..e9e86e848da 100644
--- a/go.sum
+++ b/go.sum
@@ -131,6 +131,7 @@ github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:l
github.com/aws/aws-sdk-go v1.44.192 h1:KL54vCxRd5v5XBGjnF3FelzXXwl+aWHDmDTihFmRNgM=
github.com/aws/aws-sdk-go v1.44.192/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
+github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -235,6 +236,7 @@ github.com/flynn/go-docopt v0.0.0-20140912013429-f6dd2ebbb31e/go.mod h1:HyVoz1Mz
github.com/form3tech-oss/jwt-go v3.2.2+incompatible h1:TcekIExNqud5crz4xD2pavyTgWiPvpYe4Xau31I0PRk=
github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
+github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
@@ -348,13 +350,14 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
-github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
-github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
+github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4=
+github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA=
github.com/google/gnostic v0.6.9 h1:ZK/5VhkoX835RikCHpSUJV9a+S3e1zLh59YnyWeBW+0=
github.com/google/gnostic v0.6.9/go.mod h1:Nm8234We1lq6iB9OmlgNv3nH91XLLVZHCDayfA3xq+E=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
@@ -380,6 +383,7 @@ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXi
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw=
+github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
@@ -392,6 +396,7 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe
github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ=
+github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc=
github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A=
@@ -437,6 +442,7 @@ github.com/hashicorp/consul/sdk v0.13.0 h1:lce3nFlpv8humJL8rNrrGHYSKc3q+Kxfeg3Ii
github.com/hashicorp/consul/sdk v0.13.0/go.mod h1:0hs/l5fOVhJy/VdcoaNqUSi2AUs95eF5WKtv+EYIQqE=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
+github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
@@ -452,6 +458,7 @@ github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iP
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
+github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs=
github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc=
github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
@@ -618,6 +625,7 @@ github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc=
github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0=
github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c=
github.com/onsi/ginkgo/v2 v2.4.0 h1:+Ig9nvqgS5OBSACXNk15PLdp0U9XPYROt9CFzVdFGIs=
+github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo=
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
@@ -625,6 +633,7 @@ github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs=
github.com/onsi/gomega v1.23.0 h1:/oxKu9c2HVap+F3PfKort2Hw5DEU+HGlW8n+tguWsys=
+github.com/onsi/gomega v1.23.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg=
github.com/opentracing-contrib/go-grpc v0.0.0-20210225150812-73cb765af46e h1:4cPxUYdgaGzZIT5/j0IfqOrrXmq6bG8AwvwisMXpdrg=
github.com/opentracing-contrib/go-grpc v0.0.0-20210225150812-73cb765af46e/go.mod h1:DYR5Eij8rJl8h7gblRrOZ8g0kW1umSpKqYIBTgeDtLo=
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
@@ -821,6 +830,7 @@ go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
+go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
go.uber.org/mock v0.2.0 h1:TaP3xedm7JaAgScZO7tlvlKrqT0p7I6OsdGB5YNSMDU=
go.uber.org/mock v0.2.0/go.mod h1:J0y0rp9L3xiff1+ZBfKxlC1fz2+aO16tw0tsDOixfuM=
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
@@ -855,8 +865,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
-golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
+golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
+golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -958,8 +968,8 @@ golang.org/x/net v0.0.0-20220630215102-69896b714898/go.mod h1:XRhObCWvk6IyKnWLug
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
-golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg=
-golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ=
+golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
+golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -1066,14 +1076,14 @@ golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
-golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
+golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
-golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
-golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
+golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
+golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1087,8 +1097,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
-golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
+golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1279,8 +1289,8 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
-google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
+google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/DataDog/dd-trace-go.v1 v1.47.0 h1:w3mHEgOR1o52mkyCbkTM+El8DG732+Fnug4FAGhIpsk=
gopkg.in/DataDog/dd-trace-go.v1 v1.47.0/go.mod h1:aHb6c4hPRANXnB64LDAKyfWotKgfRjlHv23MnahM8AI=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
@@ -1375,7 +1385,9 @@ modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0=
modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw=
modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY=
modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk=
+modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ=
modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
+modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM=
modernc.org/libc v1.22.2 h1:4U7v51GyhlWqQmwCHj28Rdq2Yzwk55ovjFrdPjs8Hb0=
modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug=
modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ=
@@ -1389,9 +1401,11 @@ modernc.org/sqlite v1.20.3/go.mod h1:zKcGyrICaxNTMEHSr1HQ2GUraP0j+845GYw37+EyT6A
modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY=
modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
modernc.org/tcl v1.15.0 h1:oY+JeD11qVVSgVvodMJsu7Edf8tr5E/7tuhF5cNYz34=
+modernc.org/tcl v1.15.0/go.mod h1:xRoGotBZ6dU+Zo2tca+2EqVEeMmOUBzHnhIwq4YrVnE=
modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=
modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
modernc.org/z v1.7.0 h1:xkDw/KepgEjeizO2sNco+hqYkU12taxQFqPEmgm1GWE=
+modernc.org/z v1.7.0/go.mod h1:hVdgNMh8ggTuRG1rGU8x+xGRFfiQUIAw0ZqlPy8+HyQ=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
diff --git a/go/mysql/collations/charset/convert.go b/go/mysql/collations/charset/convert.go
index 3904329654c..526bb31c5d9 100644
--- a/go/mysql/collations/charset/convert.go
+++ b/go/mysql/collations/charset/convert.go
@@ -70,7 +70,7 @@ func convertSlow(dst []byte, dstCharset Charset, src []byte, srcCharset Charset)
for len(src) > 0 {
cp, width := srcCharset.DecodeRune(src)
- if cp == utf8.RuneError && width < 3 {
+ if cp == utf8.RuneError {
failed++
cp = '?'
}
diff --git a/go/mysql/collations/charset/helpers.go b/go/mysql/collations/charset/helpers.go
index 851ce4bebf9..b66a6c77b87 100644
--- a/go/mysql/collations/charset/helpers.go
+++ b/go/mysql/collations/charset/helpers.go
@@ -41,7 +41,7 @@ func Validate(charset Charset, input []byte) bool {
}
for len(input) > 0 {
r, size := charset.DecodeRune(input)
- if r == RuneError && size < 2 {
+ if r == RuneError {
return false
}
input = input[size:]
diff --git a/go/mysql/collations/charset/unicode/utf16.go b/go/mysql/collations/charset/unicode/utf16.go
index eb055db7382..924c12be7b7 100644
--- a/go/mysql/collations/charset/unicode/utf16.go
+++ b/go/mysql/collations/charset/unicode/utf16.go
@@ -67,7 +67,7 @@ func (Charset_utf16be) EncodeRune(dst []byte, r rune) int {
func (Charset_utf16be) DecodeRune(b []byte) (rune, int) {
if len(b) < 2 {
- return utf8.RuneError, 0
+ return utf8.RuneError, len(b)
}
r1 := uint16(b[1]) | uint16(b[0])<<8
@@ -129,7 +129,7 @@ func (Charset_utf16le) EncodeRune(dst []byte, r rune) int {
func (Charset_utf16le) DecodeRune(b []byte) (rune, int) {
if len(b) < 2 {
- return utf8.RuneError, 0
+ return utf8.RuneError, len(b)
}
r1 := uint16(b[0]) | uint16(b[1])<<8
@@ -185,7 +185,7 @@ func (Charset_ucs2) EncodeRune(dst []byte, r rune) int {
func (Charset_ucs2) DecodeRune(p []byte) (rune, int) {
if len(p) < 2 {
- return utf8.RuneError, 0
+ return utf8.RuneError, len(p)
}
return rune(p[0])<<8 | rune(p[1]), 2
}
diff --git a/go/mysql/collations/charset/unicode/utf32.go b/go/mysql/collations/charset/unicode/utf32.go
index 97095bb7f98..6053d7d10f8 100644
--- a/go/mysql/collations/charset/unicode/utf32.go
+++ b/go/mysql/collations/charset/unicode/utf32.go
@@ -49,7 +49,7 @@ func (Charset_utf32) EncodeRune(dst []byte, r rune) int {
func (Charset_utf32) DecodeRune(p []byte) (rune, int) {
if len(p) < 4 {
- return utf8.RuneError, 0
+ return utf8.RuneError, len(p)
}
return (rune(p[0]) << 24) | (rune(p[1]) << 16) | (rune(p[2]) << 8) | rune(p[3]), 4
}
diff --git a/go/mysql/flavor_mysql.go b/go/mysql/flavor_mysql.go
index 388986e96fe..612bb04fac7 100644
--- a/go/mysql/flavor_mysql.go
+++ b/go/mysql/flavor_mysql.go
@@ -342,31 +342,15 @@ GROUP BY t.table_name, t.table_type, t.create_time, t.table_comment`
// TablesWithSize80 is a query to select table along with size for mysql 8.0
//
-// We join with a subquery that materializes the data from `information_schema.innodb_sys_tablespaces`
-// early for performance reasons. This effectively causes only a single read of `information_schema.innodb_tablespaces`
-// per query.
// Note the following:
-// - We use UNION ALL to deal differently with partitioned tables vs. non-partitioned tables.
-// Originally, the query handled both, but that introduced "WHERE ... OR" conditions that led to poor query
-// optimization. By separating to UNION ALL we remove all "OR" conditions.
+// - We use a single query to fetch both partitioned and non-partitioned tables. This is because
+// accessing `information_schema.innodb_tablespaces` is expensive on servers with many tablespaces,
+// and every query that loads the table needs to perform full table scans on it. Doing a single
+// table scan is more efficient than doing more than one.
// - We utilize `INFORMATION_SCHEMA`.`TABLES`.`CREATE_OPTIONS` column to do early pruning before the JOIN.
// - `TABLES`.`TABLE_NAME` has `utf8mb4_0900_ai_ci` collation. `INNODB_TABLESPACES`.`NAME` has `utf8mb3_general_ci`.
// We normalize the collation to get better query performance (we force the casting at the time of our choosing)
-// - `create_options` is NULL for views, and therefore we need an additional UNION ALL to include views
const TablesWithSize80 = `SELECT t.table_name,
- t.table_type,
- UNIX_TIMESTAMP(t.create_time),
- t.table_comment,
- i.file_size,
- i.allocated_size
- FROM information_schema.tables t
- LEFT JOIN information_schema.innodb_tablespaces i
- ON i.name = CONCAT(t.table_schema, '/', t.table_name) COLLATE utf8_general_ci
- WHERE
- t.table_schema = database() AND not t.create_options <=> 'partitioned'
-UNION ALL
- SELECT
- t.table_name,
t.table_type,
UNIX_TIMESTAMP(t.create_time),
t.table_comment,
@@ -374,9 +358,9 @@ UNION ALL
SUM(i.allocated_size)
FROM information_schema.tables t
LEFT JOIN information_schema.innodb_tablespaces i
- ON i.name LIKE (CONCAT(t.table_schema, '/', t.table_name, '#p#%') COLLATE utf8_general_ci )
+ ON i.name LIKE CONCAT(t.table_schema, '/', t.table_name, IF(t.create_options <=> 'partitioned', '#p#%', '')) COLLATE utf8_general_ci
WHERE
- t.table_schema = database() AND t.create_options <=> 'partitioned'
+ t.table_schema = database()
GROUP BY
t.table_schema, t.table_name, t.table_type, t.create_time, t.table_comment
`
diff --git a/go/mysql/schema.go b/go/mysql/schema.go
index c2f6c12e1f7..b436212cf0a 100644
--- a/go/mysql/schema.go
+++ b/go/mysql/schema.go
@@ -39,13 +39,13 @@ const (
DetectSchemaChange = `
SELECT DISTINCT table_name
FROM (
- SELECT table_name, column_name, ordinal_position, character_set_name, collation_name, data_type, column_key
+ SELECT table_name COLLATE utf8mb3_bin AS table_name, column_name COLLATE utf8mb3_general_ci AS column_name, ordinal_position, character_set_name COLLATE utf8mb3_general_ci AS character_set_name, collation_name COLLATE utf8mb3_general_ci AS collation_name, data_type COLLATE utf8mb3_bin AS data_type, column_key COLLATE utf8mb3_bin AS column_key
FROM information_schema.columns
WHERE table_schema = database()
UNION ALL
- SELECT table_name, column_name, ordinal_position, character_set_name, collation_name, data_type, column_key
+ SELECT table_name COLLATE utf8mb3_bin AS table_name, column_name COLLATE utf8mb3_general_ci AS column_name, ordinal_position, character_set_name COLLATE utf8mb3_general_ci AS character_set_name, collation_name COLLATE utf8mb3_general_ci AS collation_name, data_type COLLATE utf8mb3_bin AS data_type, column_key COLLATE utf8mb3_bin AS column_key
FROM %s.schemacopy
WHERE table_schema = database()
) _inner
diff --git a/go/test/endtoend/vtgate/queries/reference/reference_test.go b/go/test/endtoend/vtgate/queries/reference/reference_test.go
index 75efc840880..e578ba2af46 100644
--- a/go/test/endtoend/vtgate/queries/reference/reference_test.go
+++ b/go/test/endtoend/vtgate/queries/reference/reference_test.go
@@ -83,6 +83,29 @@ func TestReferenceRouting(t *testing.T) {
`[[INT64(0)]]`,
)
+ t.Run("Complex reference query", func(t *testing.T) {
+ version, err := cluster.GetMajorVersion("vtgate")
+ require.NoError(t, err)
+ if version != 17 {
+ t.Skip("Current version of vtgate: v", version, ", expected version == v17")
+ }
+ // Verify a complex query using reference tables with a left join having a derived table with an order by clause works as intended.
+ utils.AssertMatches(
+ t,
+ conn,
+ `SELECT t.id FROM (
+ SELECT zd.id, zd.zip_id
+ FROM `+shardedKeyspaceName+`.zip_detail AS zd
+ WHERE zd.id IN (2)
+ ORDER BY zd.discontinued_at
+ LIMIT 1
+ ) AS t
+ LEFT JOIN `+shardedKeyspaceName+`.zip_detail AS t0 ON t.zip_id = t0.zip_id
+ ORDER BY t.id`,
+ `[[INT64(2)]]`,
+ )
+ })
+
// UPDATE should route an unqualified zip_detail to unsharded keyspace.
utils.Exec(t, conn,
"UPDATE zip_detail SET discontinued_at = NULL WHERE id = 2")
diff --git a/go/vt/proto/binlogdata/binlogdata.pb.go b/go/vt/proto/binlogdata/binlogdata.pb.go
index 3b676dcd3a3..95715190f21 100644
--- a/go/vt/proto/binlogdata/binlogdata.pb.go
+++ b/go/vt/proto/binlogdata/binlogdata.pb.go
@@ -19,7 +19,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: binlogdata.proto
diff --git a/go/vt/proto/binlogservice/binlogservice.pb.go b/go/vt/proto/binlogservice/binlogservice.pb.go
index 4ff35fbe17d..565065a4dc1 100644
--- a/go/vt/proto/binlogservice/binlogservice.pb.go
+++ b/go/vt/proto/binlogservice/binlogservice.pb.go
@@ -19,7 +19,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: binlogservice.proto
diff --git a/go/vt/proto/logutil/logutil.pb.go b/go/vt/proto/logutil/logutil.pb.go
index 619328301bc..b52a8d359c4 100644
--- a/go/vt/proto/logutil/logutil.pb.go
+++ b/go/vt/proto/logutil/logutil.pb.go
@@ -17,7 +17,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: logutil.proto
diff --git a/go/vt/proto/mysqlctl/mysqlctl.pb.go b/go/vt/proto/mysqlctl/mysqlctl.pb.go
index 1fd6b45f16e..de33d55cdf4 100644
--- a/go/vt/proto/mysqlctl/mysqlctl.pb.go
+++ b/go/vt/proto/mysqlctl/mysqlctl.pb.go
@@ -18,7 +18,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: mysqlctl.proto
diff --git a/go/vt/proto/query/query.pb.go b/go/vt/proto/query/query.pb.go
index 6f2a0184468..511b3caef36 100644
--- a/go/vt/proto/query/query.pb.go
+++ b/go/vt/proto/query/query.pb.go
@@ -18,7 +18,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: query.proto
diff --git a/go/vt/proto/queryservice/queryservice.pb.go b/go/vt/proto/queryservice/queryservice.pb.go
index 4a1a0b83307..34e4ee310f4 100644
--- a/go/vt/proto/queryservice/queryservice.pb.go
+++ b/go/vt/proto/queryservice/queryservice.pb.go
@@ -17,7 +17,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: queryservice.proto
diff --git a/go/vt/proto/replicationdata/replicationdata.pb.go b/go/vt/proto/replicationdata/replicationdata.pb.go
index 30a7bb93b54..0bb06d21e24 100644
--- a/go/vt/proto/replicationdata/replicationdata.pb.go
+++ b/go/vt/proto/replicationdata/replicationdata.pb.go
@@ -17,7 +17,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: replicationdata.proto
diff --git a/go/vt/proto/tableacl/tableacl.pb.go b/go/vt/proto/tableacl/tableacl.pb.go
index 53fbd4714bd..663acdee2af 100644
--- a/go/vt/proto/tableacl/tableacl.pb.go
+++ b/go/vt/proto/tableacl/tableacl.pb.go
@@ -17,7 +17,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: tableacl.proto
diff --git a/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go b/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go
index d44cc594e35..1eeb2de5637 100644
--- a/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go
+++ b/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go
@@ -18,7 +18,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: tabletmanagerdata.proto
diff --git a/go/vt/proto/tabletmanagerservice/tabletmanagerservice.pb.go b/go/vt/proto/tabletmanagerservice/tabletmanagerservice.pb.go
index 5330dd90151..09bf4011b3a 100644
--- a/go/vt/proto/tabletmanagerservice/tabletmanagerservice.pb.go
+++ b/go/vt/proto/tabletmanagerservice/tabletmanagerservice.pb.go
@@ -18,7 +18,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: tabletmanagerservice.proto
diff --git a/go/vt/proto/throttlerdata/throttlerdata.pb.go b/go/vt/proto/throttlerdata/throttlerdata.pb.go
index a109402cd9e..6e5587afdaf 100644
--- a/go/vt/proto/throttlerdata/throttlerdata.pb.go
+++ b/go/vt/proto/throttlerdata/throttlerdata.pb.go
@@ -17,7 +17,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: throttlerdata.proto
diff --git a/go/vt/proto/throttlerservice/throttlerservice.pb.go b/go/vt/proto/throttlerservice/throttlerservice.pb.go
index 7bf95215939..293a7420fa9 100644
--- a/go/vt/proto/throttlerservice/throttlerservice.pb.go
+++ b/go/vt/proto/throttlerservice/throttlerservice.pb.go
@@ -18,7 +18,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: throttlerservice.proto
diff --git a/go/vt/proto/topodata/topodata.pb.go b/go/vt/proto/topodata/topodata.pb.go
index 8e3a817c072..6ad4cdb7ffd 100644
--- a/go/vt/proto/topodata/topodata.pb.go
+++ b/go/vt/proto/topodata/topodata.pb.go
@@ -20,7 +20,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: topodata.proto
diff --git a/go/vt/proto/vschema/vschema.pb.go b/go/vt/proto/vschema/vschema.pb.go
index 5a7d4f81666..4df9cf993b9 100644
--- a/go/vt/proto/vschema/vschema.pb.go
+++ b/go/vt/proto/vschema/vschema.pb.go
@@ -17,7 +17,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: vschema.proto
diff --git a/go/vt/proto/vtadmin/vtadmin.pb.go b/go/vt/proto/vtadmin/vtadmin.pb.go
index 2fc1e14a7f2..036a07f89c8 100644
--- a/go/vt/proto/vtadmin/vtadmin.pb.go
+++ b/go/vt/proto/vtadmin/vtadmin.pb.go
@@ -17,7 +17,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: vtadmin.proto
diff --git a/go/vt/proto/vtctldata/vtctldata.pb.go b/go/vt/proto/vtctldata/vtctldata.pb.go
index c65ce1a1c22..7cfb488fcf0 100644
--- a/go/vt/proto/vtctldata/vtctldata.pb.go
+++ b/go/vt/proto/vtctldata/vtctldata.pb.go
@@ -18,7 +18,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: vtctldata.proto
diff --git a/go/vt/proto/vtctlservice/vtctlservice.pb.go b/go/vt/proto/vtctlservice/vtctlservice.pb.go
index 3c18cf0d151..45f1929e072 100644
--- a/go/vt/proto/vtctlservice/vtctlservice.pb.go
+++ b/go/vt/proto/vtctlservice/vtctlservice.pb.go
@@ -18,7 +18,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: vtctlservice.proto
diff --git a/go/vt/proto/vtgate/vtgate.pb.go b/go/vt/proto/vtgate/vtgate.pb.go
index 0807efdd1e7..7b24600510c 100644
--- a/go/vt/proto/vtgate/vtgate.pb.go
+++ b/go/vt/proto/vtgate/vtgate.pb.go
@@ -17,7 +17,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: vtgate.proto
diff --git a/go/vt/proto/vtgateservice/vtgateservice.pb.go b/go/vt/proto/vtgateservice/vtgateservice.pb.go
index ba174dec2ea..f531d1b5f0b 100644
--- a/go/vt/proto/vtgateservice/vtgateservice.pb.go
+++ b/go/vt/proto/vtgateservice/vtgateservice.pb.go
@@ -18,7 +18,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: vtgateservice.proto
diff --git a/go/vt/proto/vtrpc/vtrpc.pb.go b/go/vt/proto/vtrpc/vtrpc.pb.go
index e45d6f37849..920e9f0b4e0 100644
--- a/go/vt/proto/vtrpc/vtrpc.pb.go
+++ b/go/vt/proto/vtrpc/vtrpc.pb.go
@@ -17,7 +17,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: vtrpc.proto
diff --git a/go/vt/proto/vttest/vttest.pb.go b/go/vt/proto/vttest/vttest.pb.go
index 18ab7a83bb9..5297c0e5694 100644
--- a/go/vt/proto/vttest/vttest.pb.go
+++ b/go/vt/proto/vttest/vttest.pb.go
@@ -41,7 +41,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: vttest.proto
diff --git a/go/vt/proto/vttime/vttime.pb.go b/go/vt/proto/vttime/vttime.pb.go
index ae64898857b..ef0d62f24cc 100644
--- a/go/vt/proto/vttime/vttime.pb.go
+++ b/go/vt/proto/vttime/vttime.pb.go
@@ -17,7 +17,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.31.0
+// protoc-gen-go v1.33.0
// protoc v3.21.3
// source: vttime.proto
diff --git a/go/vt/servenv/version.go b/go/vt/servenv/version.go
index 742299fa680..420c57aca68 100644
--- a/go/vt/servenv/version.go
+++ b/go/vt/servenv/version.go
@@ -1,5 +1,5 @@
/*
-Copyright 2023 The Vitess Authors.
+Copyright 2024 The Vitess Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -16,7 +16,7 @@ limitations under the License.
package servenv
-// THIS FILE IS AUTO-GENERATED DURING NEW RELEASES BY ./tools/do_releases.sh
// DO NOT EDIT
+// THIS FILE IS AUTO-GENERATED DURING NEW RELEASES BY THE VITESS-RELEASER
-const versionName = "17.0.6-SNAPSHOT"
+const versionName = "17.0.8-SNAPSHOT"
diff --git a/go/vt/sidecardb/schema/schematracker/schemacopy.sql b/go/vt/sidecardb/schema/schematracker/schemacopy.sql
index 296bb34df14..3abb922f81f 100644
--- a/go/vt/sidecardb/schema/schematracker/schemacopy.sql
+++ b/go/vt/sidecardb/schema/schematracker/schemacopy.sql
@@ -16,13 +16,13 @@ limitations under the License.
CREATE TABLE IF NOT EXISTS schemacopy
(
- `table_schema` varchar(64) NOT NULL,
- `table_name` varchar(64) NOT NULL,
- `column_name` varchar(64) NOT NULL,
- `ordinal_position` bigint unsigned NOT NULL,
- `character_set_name` varchar(32) DEFAULT NULL,
- `collation_name` varchar(32) DEFAULT NULL,
- `data_type` varchar(64) NOT NULL,
- `column_key` varchar(3) NOT NULL,
+ `table_schema` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+ `column_name` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
+ `ordinal_position` bigint unsigned NOT NULL,
+ `character_set_name` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+ `collation_name` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
+ `data_type` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+ `column_key` varchar(3) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
PRIMARY KEY (`table_schema`, `table_name`, `ordinal_position`)
-) ENGINE = InnoDB
+) ENGINE = InnoDB, CHARACTER SET = utf8mb3
diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go
index edc28008566..dce7554b7de 100644
--- a/go/vt/sqlparser/parse_test.go
+++ b/go/vt/sqlparser/parse_test.go
@@ -3659,6 +3659,9 @@ var (
}, {
input: `select * from t1 where col1 like 'ks\_' and col2 = 'ks\_' and col1 like 'ks_' and col2 = 'ks_'`,
output: `select * from t1 where col1 like 'ks\_' and col2 = 'ks\_' and col1 like 'ks_' and col2 = 'ks_'`,
+ }, {
+ input: "SELECT id, coalesce( (SELECT Json_arrayagg(Json_array(id)) FROM (SELECT *, Row_number() over (ORDER BY users.order ASC) FROM unsharded as users WHERE users.purchaseorderid = orders.id) users), json_array()) AS users, coalesce( (SELECT json_arrayagg(json_array(id)) FROM (SELECT *, row_number() over (ORDER BY tests.order ASC) FROM unsharded as tests WHERE tests.purchaseorderid = orders.id) tests), json_array()) AS tests FROM unsharded as orders WHERE orders.id = 'xxx'",
+ output: "select id, coalesce((select Json_arrayagg(json_array(id)) from (select *, row_number() over ( order by users.`order` asc) from unsharded as users where users.purchaseorderid = orders.id) as users), json_array()) as users, coalesce((select json_arrayagg(json_array(id)) from (select *, row_number() over ( order by tests.`order` asc) from unsharded as tests where tests.purchaseorderid = orders.id) as tests), json_array()) as tests from unsharded as orders where orders.id = 'xxx'",
}}
)
diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go
index 98162c9bb25..53661b4b97f 100644
--- a/go/vt/sqlparser/sql.go
+++ b/go/vt/sqlparser/sql.go
@@ -7570,7 +7570,7 @@ var yyPgo = [...]int{
0, 1000, 124, 2532, 201,
}
-//line sql.y:8474
+//line sql.y:8475
type yySymType struct {
union any
empty struct{}
@@ -17987,17 +17987,18 @@ yydefault:
yyDollar = yyS[yypt-0 : yypt+1]
//line sql.y:5616
{
+ yyVAL.identifierCI = IdentifierCI{}
}
case 1089:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5619
+//line sql.y:5620
{
yyVAL.identifierCI = yyDollar[1].identifierCI
}
case 1090:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *WindowSpecification
-//line sql.y:5625
+//line sql.y:5626
{
yyLOCAL = &WindowSpecification{Name: yyDollar[1].identifierCI, PartitionClause: yyDollar[2].exprsUnion(), OrderClause: yyDollar[3].orderByUnion(), FrameClause: yyDollar[4].frameClauseUnion()}
}
@@ -18005,7 +18006,7 @@ yydefault:
case 1091:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *OverClause
-//line sql.y:5631
+//line sql.y:5632
{
yyLOCAL = &OverClause{WindowSpec: yyDollar[3].windowSpecificationUnion()}
}
@@ -18013,7 +18014,7 @@ yydefault:
case 1092:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *OverClause
-//line sql.y:5635
+//line sql.y:5636
{
yyLOCAL = &OverClause{WindowName: yyDollar[2].identifierCI}
}
@@ -18021,7 +18022,7 @@ yydefault:
case 1093:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *NullTreatmentClause
-//line sql.y:5640
+//line sql.y:5641
{
yyLOCAL = nil
}
@@ -18029,7 +18030,7 @@ yydefault:
case 1095:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *NullTreatmentClause
-//line sql.y:5647
+//line sql.y:5648
{
yyLOCAL = &NullTreatmentClause{yyDollar[1].nullTreatmentTypeUnion()}
}
@@ -18037,7 +18038,7 @@ yydefault:
case 1096:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL NullTreatmentType
-//line sql.y:5653
+//line sql.y:5654
{
yyLOCAL = RespectNullsType
}
@@ -18045,7 +18046,7 @@ yydefault:
case 1097:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL NullTreatmentType
-//line sql.y:5657
+//line sql.y:5658
{
yyLOCAL = IgnoreNullsType
}
@@ -18053,7 +18054,7 @@ yydefault:
case 1098:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL FirstOrLastValueExprType
-//line sql.y:5663
+//line sql.y:5664
{
yyLOCAL = FirstValueExprType
}
@@ -18061,7 +18062,7 @@ yydefault:
case 1099:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL FirstOrLastValueExprType
-//line sql.y:5667
+//line sql.y:5668
{
yyLOCAL = LastValueExprType
}
@@ -18069,7 +18070,7 @@ yydefault:
case 1100:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL FromFirstLastType
-//line sql.y:5673
+//line sql.y:5674
{
yyLOCAL = FromFirstType
}
@@ -18077,7 +18078,7 @@ yydefault:
case 1101:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL FromFirstLastType
-//line sql.y:5677
+//line sql.y:5678
{
yyLOCAL = FromLastType
}
@@ -18085,7 +18086,7 @@ yydefault:
case 1102:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *FromFirstLastClause
-//line sql.y:5682
+//line sql.y:5683
{
yyLOCAL = nil
}
@@ -18093,7 +18094,7 @@ yydefault:
case 1104:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *FromFirstLastClause
-//line sql.y:5689
+//line sql.y:5690
{
yyLOCAL = &FromFirstLastClause{yyDollar[1].fromFirstLastTypeUnion()}
}
@@ -18101,7 +18102,7 @@ yydefault:
case 1105:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL LagLeadExprType
-//line sql.y:5695
+//line sql.y:5696
{
yyLOCAL = LagExprType
}
@@ -18109,7 +18110,7 @@ yydefault:
case 1106:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL LagLeadExprType
-//line sql.y:5699
+//line sql.y:5700
{
yyLOCAL = LeadExprType
}
@@ -18117,7 +18118,7 @@ yydefault:
case 1107:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *WindowDefinition
-//line sql.y:5705
+//line sql.y:5706
{
yyLOCAL = &WindowDefinition{Name: yyDollar[1].identifierCI, WindowSpec: yyDollar[4].windowSpecificationUnion()}
}
@@ -18125,34 +18126,34 @@ yydefault:
case 1108:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL WindowDefinitions
-//line sql.y:5711
+//line sql.y:5712
{
yyLOCAL = WindowDefinitions{yyDollar[1].windowDefinitionUnion()}
}
yyVAL.union = yyLOCAL
case 1109:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5715
+//line sql.y:5716
{
yySLICE := (*WindowDefinitions)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].windowDefinitionUnion())
}
case 1110:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5721
+//line sql.y:5722
{
yyVAL.str = ""
}
case 1111:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5725
+//line sql.y:5726
{
yyVAL.str = string(yyDollar[2].identifierCI.String())
}
case 1112:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL BoolVal
-//line sql.y:5731
+//line sql.y:5732
{
yyLOCAL = BoolVal(true)
}
@@ -18160,7 +18161,7 @@ yydefault:
case 1113:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL BoolVal
-//line sql.y:5735
+//line sql.y:5736
{
yyLOCAL = BoolVal(false)
}
@@ -18168,7 +18169,7 @@ yydefault:
case 1114:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5742
+//line sql.y:5743
{
yyLOCAL = IsTrueOp
}
@@ -18176,7 +18177,7 @@ yydefault:
case 1115:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5746
+//line sql.y:5747
{
yyLOCAL = IsNotTrueOp
}
@@ -18184,7 +18185,7 @@ yydefault:
case 1116:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5750
+//line sql.y:5751
{
yyLOCAL = IsFalseOp
}
@@ -18192,7 +18193,7 @@ yydefault:
case 1117:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5754
+//line sql.y:5755
{
yyLOCAL = IsNotFalseOp
}
@@ -18200,7 +18201,7 @@ yydefault:
case 1118:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5760
+//line sql.y:5761
{
yyLOCAL = EqualOp
}
@@ -18208,7 +18209,7 @@ yydefault:
case 1119:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5764
+//line sql.y:5765
{
yyLOCAL = LessThanOp
}
@@ -18216,7 +18217,7 @@ yydefault:
case 1120:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5768
+//line sql.y:5769
{
yyLOCAL = GreaterThanOp
}
@@ -18224,7 +18225,7 @@ yydefault:
case 1121:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5772
+//line sql.y:5773
{
yyLOCAL = LessEqualOp
}
@@ -18232,7 +18233,7 @@ yydefault:
case 1122:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5776
+//line sql.y:5777
{
yyLOCAL = GreaterEqualOp
}
@@ -18240,7 +18241,7 @@ yydefault:
case 1123:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5780
+//line sql.y:5781
{
yyLOCAL = NotEqualOp
}
@@ -18248,7 +18249,7 @@ yydefault:
case 1124:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5784
+//line sql.y:5785
{
yyLOCAL = NullSafeEqualOp
}
@@ -18256,7 +18257,7 @@ yydefault:
case 1125:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColTuple
-//line sql.y:5790
+//line sql.y:5791
{
yyLOCAL = yyDollar[1].valTupleUnion()
}
@@ -18264,7 +18265,7 @@ yydefault:
case 1126:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColTuple
-//line sql.y:5794
+//line sql.y:5795
{
yyLOCAL = yyDollar[1].subqueryUnion()
}
@@ -18272,7 +18273,7 @@ yydefault:
case 1127:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColTuple
-//line sql.y:5798
+//line sql.y:5799
{
yyLOCAL = ListArg(yyDollar[1].str[2:])
markBindVariable(yylex, yyDollar[1].str[2:])
@@ -18281,7 +18282,7 @@ yydefault:
case 1128:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Subquery
-//line sql.y:5805
+//line sql.y:5806
{
yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()}
}
@@ -18289,14 +18290,14 @@ yydefault:
case 1129:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:5811
+//line sql.y:5812
{
yyLOCAL = Exprs{yyDollar[1].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1130:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5815
+//line sql.y:5816
{
yySLICE := (*Exprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].exprUnion())
@@ -18304,7 +18305,7 @@ yydefault:
case 1131:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5825
+//line sql.y:5826
{
yyLOCAL = &FuncExpr{Name: yyDollar[1].identifierCI, Exprs: yyDollar[3].selectExprsUnion()}
}
@@ -18312,7 +18313,7 @@ yydefault:
case 1132:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5829
+//line sql.y:5830
{
yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCI, Exprs: yyDollar[5].selectExprsUnion()}
}
@@ -18320,7 +18321,7 @@ yydefault:
case 1133:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5839
+//line sql.y:5840
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("left"), Exprs: yyDollar[3].selectExprsUnion()}
}
@@ -18328,7 +18329,7 @@ yydefault:
case 1134:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5843
+//line sql.y:5844
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("right"), Exprs: yyDollar[3].selectExprsUnion()}
}
@@ -18336,7 +18337,7 @@ yydefault:
case 1135:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5847
+//line sql.y:5848
{
yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
}
@@ -18344,7 +18345,7 @@ yydefault:
case 1136:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5851
+//line sql.y:5852
{
yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()}
}
@@ -18352,7 +18353,7 @@ yydefault:
case 1137:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5855
+//line sql.y:5856
{
yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
}
@@ -18360,7 +18361,7 @@ yydefault:
case 1138:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5859
+//line sql.y:5860
{
yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()}
}
@@ -18368,7 +18369,7 @@ yydefault:
case 1139:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5863
+//line sql.y:5864
{
yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()}
}
@@ -18376,7 +18377,7 @@ yydefault:
case 1140:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5867
+//line sql.y:5868
{
yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()}
}
@@ -18384,7 +18385,7 @@ yydefault:
case 1141:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5871
+//line sql.y:5872
{
yyLOCAL = &InsertExpr{Str: yyDollar[3].exprUnion(), Pos: yyDollar[5].exprUnion(), Len: yyDollar[7].exprUnion(), NewStr: yyDollar[9].exprUnion()}
}
@@ -18392,7 +18393,7 @@ yydefault:
case 1142:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5875
+//line sql.y:5876
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI(yyDollar[1].str)}
}
@@ -18400,7 +18401,7 @@ yydefault:
case 1143:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5886
+//line sql.y:5887
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("utc_date")}
}
@@ -18408,7 +18409,7 @@ yydefault:
case 1144:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5890
+//line sql.y:5891
{
yyLOCAL = yyDollar[1].exprUnion()
}
@@ -18416,7 +18417,7 @@ yydefault:
case 1145:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5896
+//line sql.y:5897
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("current_date")}
}
@@ -18424,7 +18425,7 @@ yydefault:
case 1146:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5900
+//line sql.y:5901
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("curdate")}
}
@@ -18432,7 +18433,7 @@ yydefault:
case 1147:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5904
+//line sql.y:5905
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_time"), Fsp: yyDollar[2].exprUnion()}
}
@@ -18440,7 +18441,7 @@ yydefault:
case 1148:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5909
+//line sql.y:5910
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("curtime"), Fsp: yyDollar[2].exprUnion()}
}
@@ -18448,7 +18449,7 @@ yydefault:
case 1149:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5914
+//line sql.y:5915
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_time"), Fsp: yyDollar[2].exprUnion()}
}
@@ -18456,7 +18457,7 @@ yydefault:
case 1150:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5918
+//line sql.y:5919
{
yyLOCAL = &CountStar{}
}
@@ -18464,7 +18465,7 @@ yydefault:
case 1151:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5922
+//line sql.y:5923
{
yyLOCAL = &Count{Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion()}
}
@@ -18472,7 +18473,7 @@ yydefault:
case 1152:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5926
+//line sql.y:5927
{
yyLOCAL = &Max{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()}
}
@@ -18480,7 +18481,7 @@ yydefault:
case 1153:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5930
+//line sql.y:5931
{
yyLOCAL = &Min{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()}
}
@@ -18488,7 +18489,7 @@ yydefault:
case 1154:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5934
+//line sql.y:5935
{
yyLOCAL = &Sum{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()}
}
@@ -18496,7 +18497,7 @@ yydefault:
case 1155:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5938
+//line sql.y:5939
{
yyLOCAL = &Avg{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()}
}
@@ -18504,7 +18505,7 @@ yydefault:
case 1156:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5942
+//line sql.y:5943
{
yyLOCAL = &BitAnd{Arg: yyDollar[3].exprUnion()}
}
@@ -18512,7 +18513,7 @@ yydefault:
case 1157:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5946
+//line sql.y:5947
{
yyLOCAL = &BitOr{Arg: yyDollar[3].exprUnion()}
}
@@ -18520,7 +18521,7 @@ yydefault:
case 1158:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5950
+//line sql.y:5951
{
yyLOCAL = &BitXor{Arg: yyDollar[3].exprUnion()}
}
@@ -18528,7 +18529,7 @@ yydefault:
case 1159:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5954
+//line sql.y:5955
{
yyLOCAL = &Std{Arg: yyDollar[3].exprUnion()}
}
@@ -18536,7 +18537,7 @@ yydefault:
case 1160:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5958
+//line sql.y:5959
{
yyLOCAL = &StdDev{Arg: yyDollar[3].exprUnion()}
}
@@ -18544,7 +18545,7 @@ yydefault:
case 1161:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5962
+//line sql.y:5963
{
yyLOCAL = &StdPop{Arg: yyDollar[3].exprUnion()}
}
@@ -18552,7 +18553,7 @@ yydefault:
case 1162:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5966
+//line sql.y:5967
{
yyLOCAL = &StdSamp{Arg: yyDollar[3].exprUnion()}
}
@@ -18560,7 +18561,7 @@ yydefault:
case 1163:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5970
+//line sql.y:5971
{
yyLOCAL = &VarPop{Arg: yyDollar[3].exprUnion()}
}
@@ -18568,7 +18569,7 @@ yydefault:
case 1164:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5974
+//line sql.y:5975
{
yyLOCAL = &VarSamp{Arg: yyDollar[3].exprUnion()}
}
@@ -18576,7 +18577,7 @@ yydefault:
case 1165:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5978
+//line sql.y:5979
{
yyLOCAL = &Variance{Arg: yyDollar[3].exprUnion()}
}
@@ -18584,7 +18585,7 @@ yydefault:
case 1166:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5982
+//line sql.y:5983
{
yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].exprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()}
}
@@ -18592,7 +18593,7 @@ yydefault:
case 1167:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5986
+//line sql.y:5987
{
yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].identifierCI.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()}
}
@@ -18600,7 +18601,7 @@ yydefault:
case 1168:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5990
+//line sql.y:5991
{
yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].identifierCI.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()}
}
@@ -18608,7 +18609,7 @@ yydefault:
case 1169:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5994
+//line sql.y:5995
{
yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()}
}
@@ -18616,7 +18617,7 @@ yydefault:
case 1170:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5998
+//line sql.y:5999
{
yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()}
}
@@ -18624,7 +18625,7 @@ yydefault:
case 1171:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6002
+//line sql.y:6003
{
yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()}
}
@@ -18632,7 +18633,7 @@ yydefault:
case 1172:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6006
+//line sql.y:6007
{
yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()}
}
@@ -18640,7 +18641,7 @@ yydefault:
case 1173:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6010
+//line sql.y:6011
{
yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()}
}
@@ -18648,7 +18649,7 @@ yydefault:
case 1174:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6014
+//line sql.y:6015
{
yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, Type: LeadingTrimType, StringArg: yyDollar[3].exprUnion()}
}
@@ -18656,7 +18657,7 @@ yydefault:
case 1175:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6018
+//line sql.y:6019
{
yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, Type: TrailingTrimType, StringArg: yyDollar[3].exprUnion()}
}
@@ -18664,7 +18665,7 @@ yydefault:
case 1176:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6022
+//line sql.y:6023
{
yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()}
}
@@ -18672,7 +18673,7 @@ yydefault:
case 1177:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6026
+//line sql.y:6027
{
yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()}
}
@@ -18680,7 +18681,7 @@ yydefault:
case 1178:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6030
+//line sql.y:6031
{
yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion()}
}
@@ -18688,7 +18689,7 @@ yydefault:
case 1179:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6034
+//line sql.y:6035
{
yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion(), Charset: yyDollar[5].str}
}
@@ -18696,7 +18697,7 @@ yydefault:
case 1180:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6038
+//line sql.y:6039
{
yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()}
}
@@ -18704,7 +18705,7 @@ yydefault:
case 1181:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6042
+//line sql.y:6043
{
yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()}
}
@@ -18712,7 +18713,7 @@ yydefault:
case 1182:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6046
+//line sql.y:6047
{
yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion(), Pos: yyDollar[7].exprUnion()}
}
@@ -18720,7 +18721,7 @@ yydefault:
case 1183:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6050
+//line sql.y:6051
{
yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()}
}
@@ -18728,7 +18729,7 @@ yydefault:
case 1184:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6054
+//line sql.y:6055
{
yyLOCAL = &LockingFunc{Type: GetLock, Name: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
}
@@ -18736,7 +18737,7 @@ yydefault:
case 1185:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6058
+//line sql.y:6059
{
yyLOCAL = &LockingFunc{Type: IsFreeLock, Name: yyDollar[3].exprUnion()}
}
@@ -18744,7 +18745,7 @@ yydefault:
case 1186:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6062
+//line sql.y:6063
{
yyLOCAL = &LockingFunc{Type: IsUsedLock, Name: yyDollar[3].exprUnion()}
}
@@ -18752,7 +18753,7 @@ yydefault:
case 1187:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6066
+//line sql.y:6067
{
yyLOCAL = &LockingFunc{Type: ReleaseAllLocks}
}
@@ -18760,7 +18761,7 @@ yydefault:
case 1188:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6070
+//line sql.y:6071
{
yyLOCAL = &LockingFunc{Type: ReleaseLock, Name: yyDollar[3].exprUnion()}
}
@@ -18768,7 +18769,7 @@ yydefault:
case 1189:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6074
+//line sql.y:6075
{
yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()}
}
@@ -18776,7 +18777,7 @@ yydefault:
case 1190:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6078
+//line sql.y:6079
{
yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()}
}
@@ -18784,7 +18785,7 @@ yydefault:
case 1191:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6082
+//line sql.y:6083
{
yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()}
}
@@ -18792,7 +18793,7 @@ yydefault:
case 1192:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6086
+//line sql.y:6087
{
yyLOCAL = &GeomFormatExpr{FormatType: BinaryFormat, Geom: yyDollar[3].exprUnion()}
}
@@ -18800,7 +18801,7 @@ yydefault:
case 1193:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6090
+//line sql.y:6091
{
yyLOCAL = &GeomFormatExpr{FormatType: BinaryFormat, Geom: yyDollar[3].exprUnion(), AxisOrderOpt: yyDollar[5].exprUnion()}
}
@@ -18808,7 +18809,7 @@ yydefault:
case 1194:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6094
+//line sql.y:6095
{
yyLOCAL = &GeomFormatExpr{FormatType: TextFormat, Geom: yyDollar[3].exprUnion()}
}
@@ -18816,7 +18817,7 @@ yydefault:
case 1195:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6098
+//line sql.y:6099
{
yyLOCAL = &GeomFormatExpr{FormatType: TextFormat, Geom: yyDollar[3].exprUnion(), AxisOrderOpt: yyDollar[5].exprUnion()}
}
@@ -18824,7 +18825,7 @@ yydefault:
case 1196:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6102
+//line sql.y:6103
{
yyLOCAL = &GeomPropertyFuncExpr{Property: IsEmpty, Geom: yyDollar[3].exprUnion()}
}
@@ -18832,7 +18833,7 @@ yydefault:
case 1197:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6106
+//line sql.y:6107
{
yyLOCAL = &GeomPropertyFuncExpr{Property: IsSimple, Geom: yyDollar[3].exprUnion()}
}
@@ -18840,7 +18841,7 @@ yydefault:
case 1198:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6110
+//line sql.y:6111
{
yyLOCAL = &GeomPropertyFuncExpr{Property: Dimension, Geom: yyDollar[3].exprUnion()}
}
@@ -18848,7 +18849,7 @@ yydefault:
case 1199:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6114
+//line sql.y:6115
{
yyLOCAL = &GeomPropertyFuncExpr{Property: Envelope, Geom: yyDollar[3].exprUnion()}
}
@@ -18856,7 +18857,7 @@ yydefault:
case 1200:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6118
+//line sql.y:6119
{
yyLOCAL = &GeomPropertyFuncExpr{Property: GeometryType, Geom: yyDollar[3].exprUnion()}
}
@@ -18864,7 +18865,7 @@ yydefault:
case 1201:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6122
+//line sql.y:6123
{
yyLOCAL = &PointPropertyFuncExpr{Property: Latitude, Point: yyDollar[3].exprUnion()}
}
@@ -18872,7 +18873,7 @@ yydefault:
case 1202:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6126
+//line sql.y:6127
{
yyLOCAL = &PointPropertyFuncExpr{Property: Latitude, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
@@ -18880,7 +18881,7 @@ yydefault:
case 1203:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6130
+//line sql.y:6131
{
yyLOCAL = &PointPropertyFuncExpr{Property: Longitude, Point: yyDollar[3].exprUnion()}
}
@@ -18888,7 +18889,7 @@ yydefault:
case 1204:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6134
+//line sql.y:6135
{
yyLOCAL = &PointPropertyFuncExpr{Property: Longitude, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
@@ -18896,7 +18897,7 @@ yydefault:
case 1205:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6138
+//line sql.y:6139
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: EndPoint, Linestring: yyDollar[3].exprUnion()}
}
@@ -18904,7 +18905,7 @@ yydefault:
case 1206:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6142
+//line sql.y:6143
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: IsClosed, Linestring: yyDollar[3].exprUnion()}
}
@@ -18912,7 +18913,7 @@ yydefault:
case 1207:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6146
+//line sql.y:6147
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: Length, Linestring: yyDollar[3].exprUnion()}
}
@@ -18920,7 +18921,7 @@ yydefault:
case 1208:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6150
+//line sql.y:6151
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: Length, Linestring: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
@@ -18928,7 +18929,7 @@ yydefault:
case 1209:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6154
+//line sql.y:6155
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: NumPoints, Linestring: yyDollar[3].exprUnion()}
}
@@ -18936,7 +18937,7 @@ yydefault:
case 1210:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6158
+//line sql.y:6159
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: PointN, Linestring: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
@@ -18944,7 +18945,7 @@ yydefault:
case 1211:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6162
+//line sql.y:6163
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: StartPoint, Linestring: yyDollar[3].exprUnion()}
}
@@ -18952,7 +18953,7 @@ yydefault:
case 1212:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6166
+//line sql.y:6167
{
yyLOCAL = &PointPropertyFuncExpr{Property: XCordinate, Point: yyDollar[3].exprUnion()}
}
@@ -18960,7 +18961,7 @@ yydefault:
case 1213:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6170
+//line sql.y:6171
{
yyLOCAL = &PointPropertyFuncExpr{Property: XCordinate, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
@@ -18968,7 +18969,7 @@ yydefault:
case 1214:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6174
+//line sql.y:6175
{
yyLOCAL = &PointPropertyFuncExpr{Property: YCordinate, Point: yyDollar[3].exprUnion()}
}
@@ -18976,7 +18977,7 @@ yydefault:
case 1215:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6178
+//line sql.y:6179
{
yyLOCAL = &PointPropertyFuncExpr{Property: YCordinate, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
@@ -18984,7 +18985,7 @@ yydefault:
case 1216:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6182
+//line sql.y:6183
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion()}
}
@@ -18992,7 +18993,7 @@ yydefault:
case 1217:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6186
+//line sql.y:6187
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19000,7 +19001,7 @@ yydefault:
case 1218:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6190
+//line sql.y:6191
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19008,7 +19009,7 @@ yydefault:
case 1219:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6194
+//line sql.y:6195
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion()}
}
@@ -19016,7 +19017,7 @@ yydefault:
case 1220:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6198
+//line sql.y:6199
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19024,7 +19025,7 @@ yydefault:
case 1221:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6202
+//line sql.y:6203
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19032,7 +19033,7 @@ yydefault:
case 1222:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6206
+//line sql.y:6207
{
yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion()}
}
@@ -19040,7 +19041,7 @@ yydefault:
case 1223:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6210
+//line sql.y:6211
{
yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19048,7 +19049,7 @@ yydefault:
case 1224:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6214
+//line sql.y:6215
{
yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19056,7 +19057,7 @@ yydefault:
case 1225:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6218
+//line sql.y:6219
{
yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion()}
}
@@ -19064,7 +19065,7 @@ yydefault:
case 1226:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6222
+//line sql.y:6223
{
yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19072,7 +19073,7 @@ yydefault:
case 1227:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6226
+//line sql.y:6227
{
yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19080,7 +19081,7 @@ yydefault:
case 1228:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6230
+//line sql.y:6231
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion()}
}
@@ -19088,7 +19089,7 @@ yydefault:
case 1229:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6234
+//line sql.y:6235
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19096,7 +19097,7 @@ yydefault:
case 1230:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6238
+//line sql.y:6239
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19104,7 +19105,7 @@ yydefault:
case 1231:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6242
+//line sql.y:6243
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion()}
}
@@ -19112,7 +19113,7 @@ yydefault:
case 1232:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6246
+//line sql.y:6247
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19120,7 +19121,7 @@ yydefault:
case 1233:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6250
+//line sql.y:6251
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19128,7 +19129,7 @@ yydefault:
case 1234:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6254
+//line sql.y:6255
{
yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion()}
}
@@ -19136,7 +19137,7 @@ yydefault:
case 1235:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6258
+//line sql.y:6259
{
yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19144,7 +19145,7 @@ yydefault:
case 1236:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6262
+//line sql.y:6263
{
yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19152,7 +19153,7 @@ yydefault:
case 1237:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6266
+//line sql.y:6267
{
yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion()}
}
@@ -19160,7 +19161,7 @@ yydefault:
case 1238:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6270
+//line sql.y:6271
{
yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19168,7 +19169,7 @@ yydefault:
case 1239:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6274
+//line sql.y:6275
{
yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19176,7 +19177,7 @@ yydefault:
case 1240:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6278
+//line sql.y:6279
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
@@ -19184,7 +19185,7 @@ yydefault:
case 1241:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6282
+//line sql.y:6283
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19192,7 +19193,7 @@ yydefault:
case 1242:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6286
+//line sql.y:6287
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19200,7 +19201,7 @@ yydefault:
case 1243:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6290
+//line sql.y:6291
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
@@ -19208,7 +19209,7 @@ yydefault:
case 1244:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6294
+//line sql.y:6295
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19216,7 +19217,7 @@ yydefault:
case 1245:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6298
+//line sql.y:6299
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19224,7 +19225,7 @@ yydefault:
case 1246:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6302
+//line sql.y:6303
{
yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
@@ -19232,7 +19233,7 @@ yydefault:
case 1247:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6306
+//line sql.y:6307
{
yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19240,7 +19241,7 @@ yydefault:
case 1248:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6310
+//line sql.y:6311
{
yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19248,7 +19249,7 @@ yydefault:
case 1249:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6314
+//line sql.y:6315
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
@@ -19256,7 +19257,7 @@ yydefault:
case 1250:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6318
+//line sql.y:6319
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19264,7 +19265,7 @@ yydefault:
case 1251:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6322
+//line sql.y:6323
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19272,7 +19273,7 @@ yydefault:
case 1252:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6326
+//line sql.y:6327
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
@@ -19280,7 +19281,7 @@ yydefault:
case 1253:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6330
+//line sql.y:6331
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19288,7 +19289,7 @@ yydefault:
case 1254:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6334
+//line sql.y:6335
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19296,7 +19297,7 @@ yydefault:
case 1255:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6338
+//line sql.y:6339
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
@@ -19304,7 +19305,7 @@ yydefault:
case 1256:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6342
+//line sql.y:6343
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19312,7 +19313,7 @@ yydefault:
case 1257:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6346
+//line sql.y:6347
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19320,7 +19321,7 @@ yydefault:
case 1258:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6350
+//line sql.y:6351
{
yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
@@ -19328,7 +19329,7 @@ yydefault:
case 1259:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6354
+//line sql.y:6355
{
yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19336,7 +19337,7 @@ yydefault:
case 1260:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6358
+//line sql.y:6359
{
yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19344,7 +19345,7 @@ yydefault:
case 1261:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6362
+//line sql.y:6363
{
yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
@@ -19352,7 +19353,7 @@ yydefault:
case 1262:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6366
+//line sql.y:6367
{
yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
@@ -19360,7 +19361,7 @@ yydefault:
case 1263:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6370
+//line sql.y:6371
{
yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
@@ -19368,7 +19369,7 @@ yydefault:
case 1264:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6374
+//line sql.y:6375
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: Area, Polygon: yyDollar[3].exprUnion()}
}
@@ -19376,7 +19377,7 @@ yydefault:
case 1265:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6378
+//line sql.y:6379
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: Centroid, Polygon: yyDollar[3].exprUnion()}
}
@@ -19384,7 +19385,7 @@ yydefault:
case 1266:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6382
+//line sql.y:6383
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: ExteriorRing, Polygon: yyDollar[3].exprUnion()}
}
@@ -19392,7 +19393,7 @@ yydefault:
case 1267:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6386
+//line sql.y:6387
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: InteriorRingN, Polygon: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
@@ -19400,7 +19401,7 @@ yydefault:
case 1268:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6390
+//line sql.y:6391
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: NumInteriorRings, Polygon: yyDollar[3].exprUnion()}
}
@@ -19408,7 +19409,7 @@ yydefault:
case 1269:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6394
+//line sql.y:6395
{
yyLOCAL = &GeomCollPropertyFuncExpr{Property: GeometryN, GeomColl: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
@@ -19416,7 +19417,7 @@ yydefault:
case 1270:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6398
+//line sql.y:6399
{
yyLOCAL = &GeomCollPropertyFuncExpr{Property: NumGeometries, GeomColl: yyDollar[3].exprUnion()}
}
@@ -19424,7 +19425,7 @@ yydefault:
case 1271:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6402
+//line sql.y:6403
{
yyLOCAL = &GeoHashFromLatLongExpr{Longitude: yyDollar[3].exprUnion(), Latitude: yyDollar[5].exprUnion(), MaxLength: yyDollar[7].exprUnion()}
}
@@ -19432,7 +19433,7 @@ yydefault:
case 1272:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6406
+//line sql.y:6407
{
yyLOCAL = &GeoHashFromPointExpr{Point: yyDollar[3].exprUnion(), MaxLength: yyDollar[5].exprUnion()}
}
@@ -19440,7 +19441,7 @@ yydefault:
case 1273:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6410
+//line sql.y:6411
{
yyLOCAL = &GeomFromGeoHashExpr{GeomType: LatitudeFromHash, GeoHash: yyDollar[3].exprUnion()}
}
@@ -19448,7 +19449,7 @@ yydefault:
case 1274:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6414
+//line sql.y:6415
{
yyLOCAL = &GeomFromGeoHashExpr{GeomType: LongitudeFromHash, GeoHash: yyDollar[3].exprUnion()}
}
@@ -19456,7 +19457,7 @@ yydefault:
case 1275:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6418
+//line sql.y:6419
{
yyLOCAL = &GeomFromGeoHashExpr{GeomType: PointFromHash, GeoHash: yyDollar[3].exprUnion(), SridOpt: yyDollar[5].exprUnion()}
}
@@ -19464,7 +19465,7 @@ yydefault:
case 1276:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6422
+//line sql.y:6423
{
yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion()}
}
@@ -19472,7 +19473,7 @@ yydefault:
case 1277:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6426
+//line sql.y:6427
{
yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion(), HigherDimHandlerOpt: yyDollar[5].exprUnion()}
}
@@ -19480,7 +19481,7 @@ yydefault:
case 1278:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6430
+//line sql.y:6431
{
yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion(), HigherDimHandlerOpt: yyDollar[5].exprUnion(), Srid: yyDollar[7].exprUnion()}
}
@@ -19488,7 +19489,7 @@ yydefault:
case 1279:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6434
+//line sql.y:6435
{
yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion()}
}
@@ -19496,7 +19497,7 @@ yydefault:
case 1280:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6438
+//line sql.y:6439
{
yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion(), MaxDecimalDigits: yyDollar[5].exprUnion()}
}
@@ -19504,7 +19505,7 @@ yydefault:
case 1281:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6442
+//line sql.y:6443
{
yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion(), MaxDecimalDigits: yyDollar[5].exprUnion(), Bitmask: yyDollar[7].exprUnion()}
}
@@ -19512,7 +19513,7 @@ yydefault:
case 1282:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6446
+//line sql.y:6447
{
yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()}
}
@@ -19520,7 +19521,7 @@ yydefault:
case 1283:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6450
+//line sql.y:6451
{
yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()}
}
@@ -19528,7 +19529,7 @@ yydefault:
case 1284:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6454
+//line sql.y:6455
{
yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprsUnion()[0], PathList: yyDollar[5].exprsUnion()[1:]}
}
@@ -19536,7 +19537,7 @@ yydefault:
case 1285:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6458
+//line sql.y:6459
{
yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].exprsUnion()}
}
@@ -19544,7 +19545,7 @@ yydefault:
case 1286:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6462
+//line sql.y:6463
{
yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()}
}
@@ -19552,7 +19553,7 @@ yydefault:
case 1287:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6466
+//line sql.y:6467
{
yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion()}
}
@@ -19560,7 +19561,7 @@ yydefault:
case 1288:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6470
+//line sql.y:6471
{
yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()}
}
@@ -19568,7 +19569,7 @@ yydefault:
case 1289:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6474
+//line sql.y:6475
{
yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()}
}
@@ -19576,7 +19577,7 @@ yydefault:
case 1290:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6478
+//line sql.y:6479
{
yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()}
}
@@ -19584,7 +19585,7 @@ yydefault:
case 1291:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6482
+//line sql.y:6483
{
yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprsUnion()[0], PathList: yyDollar[9].exprsUnion()[1:]}
}
@@ -19592,7 +19593,7 @@ yydefault:
case 1292:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6486
+//line sql.y:6487
{
yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion()}
}
@@ -19600,7 +19601,7 @@ yydefault:
case 1293:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6490
+//line sql.y:6491
{
yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()}
}
@@ -19608,7 +19609,7 @@ yydefault:
case 1294:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6494
+//line sql.y:6495
{
yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()}
}
@@ -19616,7 +19617,7 @@ yydefault:
case 1295:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6498
+//line sql.y:6499
{
yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()}
}
@@ -19624,7 +19625,7 @@ yydefault:
case 1296:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6502
+//line sql.y:6503
{
yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
@@ -19632,7 +19633,7 @@ yydefault:
case 1297:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6506
+//line sql.y:6507
{
yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
@@ -19640,7 +19641,7 @@ yydefault:
case 1298:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6510
+//line sql.y:6511
{
yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
@@ -19648,7 +19649,7 @@ yydefault:
case 1299:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6514
+//line sql.y:6515
{
yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
@@ -19656,7 +19657,7 @@ yydefault:
case 1300:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6518
+//line sql.y:6519
{
yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()}
}
@@ -19664,7 +19665,7 @@ yydefault:
case 1301:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6522
+//line sql.y:6523
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
@@ -19672,7 +19673,7 @@ yydefault:
case 1302:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6526
+//line sql.y:6527
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
@@ -19680,7 +19681,7 @@ yydefault:
case 1303:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6530
+//line sql.y:6531
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
@@ -19688,7 +19689,7 @@ yydefault:
case 1304:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6534
+//line sql.y:6535
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
@@ -19696,7 +19697,7 @@ yydefault:
case 1305:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6538
+//line sql.y:6539
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
@@ -19704,7 +19705,7 @@ yydefault:
case 1306:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6542
+//line sql.y:6543
{
yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
}
@@ -19712,7 +19713,7 @@ yydefault:
case 1307:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6546
+//line sql.y:6547
{
yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
}
@@ -19720,7 +19721,7 @@ yydefault:
case 1308:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6550
+//line sql.y:6551
{
yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
}
@@ -19728,7 +19729,7 @@ yydefault:
case 1309:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6554
+//line sql.y:6555
{
yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()}
}
@@ -19736,7 +19737,7 @@ yydefault:
case 1310:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6558
+//line sql.y:6559
{
yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()}
}
@@ -19744,7 +19745,7 @@ yydefault:
case 1311:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6562
+//line sql.y:6563
{
yyLOCAL = &MultiPolygonExpr{PolygonParams: yyDollar[3].exprsUnion()}
}
@@ -19752,7 +19753,7 @@ yydefault:
case 1312:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6566
+//line sql.y:6567
{
yyLOCAL = &MultiPointExpr{PointParams: yyDollar[3].exprsUnion()}
}
@@ -19760,7 +19761,7 @@ yydefault:
case 1313:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6570
+//line sql.y:6571
{
yyLOCAL = &MultiLinestringExpr{LinestringParams: yyDollar[3].exprsUnion()}
}
@@ -19768,7 +19769,7 @@ yydefault:
case 1314:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6574
+//line sql.y:6575
{
yyLOCAL = &PolygonExpr{LinestringParams: yyDollar[3].exprsUnion()}
}
@@ -19776,7 +19777,7 @@ yydefault:
case 1315:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6578
+//line sql.y:6579
{
yyLOCAL = &LineStringExpr{PointParams: yyDollar[3].exprsUnion()}
}
@@ -19784,7 +19785,7 @@ yydefault:
case 1316:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6582
+//line sql.y:6583
{
yyLOCAL = &PointExpr{XCordinate: yyDollar[3].exprUnion(), YCordinate: yyDollar[5].exprUnion()}
}
@@ -19792,7 +19793,7 @@ yydefault:
case 1317:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6586
+//line sql.y:6587
{
yyLOCAL = &ArgumentLessWindowExpr{Type: yyDollar[1].argumentLessWindowExprTypeUnion(), OverClause: yyDollar[4].overClauseUnion()}
}
@@ -19800,7 +19801,7 @@ yydefault:
case 1318:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6590
+//line sql.y:6591
{
yyLOCAL = &FirstOrLastValueExpr{Type: yyDollar[1].firstOrLastValueExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
@@ -19808,7 +19809,7 @@ yydefault:
case 1319:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6594
+//line sql.y:6595
{
yyLOCAL = &NtileExpr{N: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
@@ -19816,7 +19817,7 @@ yydefault:
case 1320:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6598
+//line sql.y:6599
{
yyLOCAL = &NTHValueExpr{Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), FromFirstLastClause: yyDollar[7].fromFirstLastClauseUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()}
}
@@ -19824,7 +19825,7 @@ yydefault:
case 1321:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6602
+//line sql.y:6603
{
yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
@@ -19832,7 +19833,7 @@ yydefault:
case 1322:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6606
+//line sql.y:6607
{
yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), Default: yyDollar[6].exprUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()}
}
@@ -19840,7 +19841,7 @@ yydefault:
case 1323:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6610
+//line sql.y:6611
{
yyLOCAL = &DateAddExpr{Type: AdddateType, Date: yyDollar[3].exprUnion(), Expr: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
@@ -19848,7 +19849,7 @@ yydefault:
case 1324:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6614
+//line sql.y:6615
{
yyLOCAL = &DateAddExpr{Type: AdddateType, Date: yyDollar[3].exprUnion(), Expr: yyDollar[5].exprUnion()}
}
@@ -19856,7 +19857,7 @@ yydefault:
case 1325:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6618
+//line sql.y:6619
{
yyLOCAL = &DateAddExpr{Type: DateAddType, Date: yyDollar[3].exprUnion(), Expr: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
@@ -19864,7 +19865,7 @@ yydefault:
case 1326:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6622
+//line sql.y:6623
{
yyLOCAL = &DateSubExpr{Type: DateSubType, Date: yyDollar[3].exprUnion(), Expr: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
@@ -19872,7 +19873,7 @@ yydefault:
case 1327:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6626
+//line sql.y:6627
{
yyLOCAL = &DateSubExpr{Type: SubdateType, Date: yyDollar[3].exprUnion(), Expr: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
@@ -19880,7 +19881,7 @@ yydefault:
case 1328:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6630
+//line sql.y:6631
{
yyLOCAL = &DateSubExpr{Type: SubdateType, Date: yyDollar[3].exprUnion(), Expr: yyDollar[5].exprUnion()}
}
@@ -19888,7 +19889,7 @@ yydefault:
case 1333:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6640
+//line sql.y:6641
{
yyLOCAL = yyDollar[1].exprUnion()
}
@@ -19896,7 +19897,7 @@ yydefault:
case 1334:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6644
+//line sql.y:6645
{
yyLOCAL = NewIntLiteral(yyDollar[1].str)
}
@@ -19904,7 +19905,7 @@ yydefault:
case 1335:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6648
+//line sql.y:6649
{
yyLOCAL = yyDollar[1].variableUnion()
}
@@ -19912,7 +19913,7 @@ yydefault:
case 1336:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6652
+//line sql.y:6653
{
yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:])
}
@@ -19920,7 +19921,7 @@ yydefault:
case 1337:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6657
+//line sql.y:6658
{
yyLOCAL = nil
}
@@ -19928,7 +19929,7 @@ yydefault:
case 1338:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6661
+//line sql.y:6662
{
yyLOCAL = yyDollar[2].exprUnion()
}
@@ -19936,7 +19937,7 @@ yydefault:
case 1339:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6667
+//line sql.y:6668
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
}
@@ -19944,7 +19945,7 @@ yydefault:
case 1340:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6671
+//line sql.y:6672
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()}
}
@@ -19952,7 +19953,7 @@ yydefault:
case 1341:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6675
+//line sql.y:6676
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()}
}
@@ -19960,7 +19961,7 @@ yydefault:
case 1342:
yyDollar = yyS[yypt-12 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6679
+//line sql.y:6680
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion()}
}
@@ -19968,7 +19969,7 @@ yydefault:
case 1343:
yyDollar = yyS[yypt-14 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6683
+//line sql.y:6684
{
// Match type is kept expression as TRIM( ' m ') is accepted
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()}
@@ -19977,7 +19978,7 @@ yydefault:
case 1344:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6688
+//line sql.y:6689
{
yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
}
@@ -19985,7 +19986,7 @@ yydefault:
case 1345:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6692
+//line sql.y:6693
{
yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), MatchType: yyDollar[7].exprUnion()}
}
@@ -19993,7 +19994,7 @@ yydefault:
case 1346:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6696
+//line sql.y:6697
{
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion()}
}
@@ -20001,7 +20002,7 @@ yydefault:
case 1347:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6700
+//line sql.y:6701
{
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion()}
}
@@ -20009,7 +20010,7 @@ yydefault:
case 1348:
yyDollar = yyS[yypt-12 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6704
+//line sql.y:6705
{
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion()}
}
@@ -20017,7 +20018,7 @@ yydefault:
case 1349:
yyDollar = yyS[yypt-14 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6708
+//line sql.y:6709
{
// Match type is kept expression as TRIM( ' m ') is accepted
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()}
@@ -20026,7 +20027,7 @@ yydefault:
case 1350:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6713
+//line sql.y:6714
{
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
}
@@ -20034,7 +20035,7 @@ yydefault:
case 1351:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6717
+//line sql.y:6718
{
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()}
}
@@ -20042,7 +20043,7 @@ yydefault:
case 1352:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6721
+//line sql.y:6722
{
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()}
}
@@ -20050,7 +20051,7 @@ yydefault:
case 1353:
yyDollar = yyS[yypt-12 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6725
+//line sql.y:6726
{
// Match type is kept expression as TRIM( ' m ') is accepted
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), MatchType: yyDollar[11].exprUnion()}
@@ -20059,7 +20060,7 @@ yydefault:
case 1354:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6732
+//line sql.y:6733
{
yyLOCAL = &ExtractValueExpr{Fragment: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion()}
}
@@ -20067,7 +20068,7 @@ yydefault:
case 1355:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6736
+//line sql.y:6737
{
yyLOCAL = &UpdateXMLExpr{Target: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion(), NewXML: yyDollar[7].exprUnion()}
}
@@ -20075,7 +20076,7 @@ yydefault:
case 1356:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6742
+//line sql.y:6743
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatBytesType, Argument: yyDollar[3].exprUnion()}
}
@@ -20083,7 +20084,7 @@ yydefault:
case 1357:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6746
+//line sql.y:6747
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatPicoTimeType, Argument: yyDollar[3].exprUnion()}
}
@@ -20091,7 +20092,7 @@ yydefault:
case 1358:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6750
+//line sql.y:6751
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsCurrentThreadIDType}
}
@@ -20099,7 +20100,7 @@ yydefault:
case 1359:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6754
+//line sql.y:6755
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsThreadIDType, Argument: yyDollar[3].exprUnion()}
}
@@ -20107,7 +20108,7 @@ yydefault:
case 1360:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6760
+//line sql.y:6761
{
yyLOCAL = >IDFuncExpr{Type: GTIDSubsetType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()}
}
@@ -20115,7 +20116,7 @@ yydefault:
case 1361:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6764
+//line sql.y:6765
{
yyLOCAL = >IDFuncExpr{Type: GTIDSubtractType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()}
}
@@ -20123,7 +20124,7 @@ yydefault:
case 1362:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6768
+//line sql.y:6769
{
yyLOCAL = >IDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion()}
}
@@ -20131,7 +20132,7 @@ yydefault:
case 1363:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6772
+//line sql.y:6773
{
yyLOCAL = >IDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
}
@@ -20139,7 +20140,7 @@ yydefault:
case 1364:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6776
+//line sql.y:6777
{
yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion()}
}
@@ -20147,7 +20148,7 @@ yydefault:
case 1365:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6780
+//line sql.y:6781
{
yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
}
@@ -20155,7 +20156,7 @@ yydefault:
case 1366:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6784
+//line sql.y:6785
{
yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion(), Channel: yyDollar[7].exprUnion()}
}
@@ -20163,7 +20164,7 @@ yydefault:
case 1367:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6789
+//line sql.y:6790
{
yyLOCAL = nil
}
@@ -20171,7 +20172,7 @@ yydefault:
case 1368:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6793
+//line sql.y:6794
{
yyLOCAL = yyDollar[2].convertTypeUnion()
}
@@ -20179,7 +20180,7 @@ yydefault:
case 1369:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6799
+//line sql.y:6800
{
yyLOCAL = IntervalDayHour
}
@@ -20187,7 +20188,7 @@ yydefault:
case 1370:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6803
+//line sql.y:6804
{
yyLOCAL = IntervalDayMicrosecond
}
@@ -20195,7 +20196,7 @@ yydefault:
case 1371:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6807
+//line sql.y:6808
{
yyLOCAL = IntervalDayMinute
}
@@ -20203,7 +20204,7 @@ yydefault:
case 1372:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6811
+//line sql.y:6812
{
yyLOCAL = IntervalDaySecond
}
@@ -20211,7 +20212,7 @@ yydefault:
case 1373:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6815
+//line sql.y:6816
{
yyLOCAL = IntervalHourMicrosecond
}
@@ -20219,7 +20220,7 @@ yydefault:
case 1374:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6819
+//line sql.y:6820
{
yyLOCAL = IntervalHourMinute
}
@@ -20227,7 +20228,7 @@ yydefault:
case 1375:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6823
+//line sql.y:6824
{
yyLOCAL = IntervalHourSecond
}
@@ -20235,7 +20236,7 @@ yydefault:
case 1376:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6827
+//line sql.y:6828
{
yyLOCAL = IntervalMinuteMicrosecond
}
@@ -20243,7 +20244,7 @@ yydefault:
case 1377:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6831
+//line sql.y:6832
{
yyLOCAL = IntervalMinuteSecond
}
@@ -20251,7 +20252,7 @@ yydefault:
case 1378:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6835
+//line sql.y:6836
{
yyLOCAL = IntervalSecondMicrosecond
}
@@ -20259,7 +20260,7 @@ yydefault:
case 1379:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6839
+//line sql.y:6840
{
yyLOCAL = IntervalYearMonth
}
@@ -20267,7 +20268,7 @@ yydefault:
case 1380:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6843
+//line sql.y:6844
{
yyLOCAL = IntervalDay
}
@@ -20275,7 +20276,7 @@ yydefault:
case 1381:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6847
+//line sql.y:6848
{
yyLOCAL = IntervalWeek
}
@@ -20283,7 +20284,7 @@ yydefault:
case 1382:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6851
+//line sql.y:6852
{
yyLOCAL = IntervalHour
}
@@ -20291,7 +20292,7 @@ yydefault:
case 1383:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6855
+//line sql.y:6856
{
yyLOCAL = IntervalMinute
}
@@ -20299,7 +20300,7 @@ yydefault:
case 1384:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6859
+//line sql.y:6860
{
yyLOCAL = IntervalMonth
}
@@ -20307,7 +20308,7 @@ yydefault:
case 1385:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6863
+//line sql.y:6864
{
yyLOCAL = IntervalQuarter
}
@@ -20315,7 +20316,7 @@ yydefault:
case 1386:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6867
+//line sql.y:6868
{
yyLOCAL = IntervalSecond
}
@@ -20323,7 +20324,7 @@ yydefault:
case 1387:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6871
+//line sql.y:6872
{
yyLOCAL = IntervalMicrosecond
}
@@ -20331,7 +20332,7 @@ yydefault:
case 1388:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalTypes
-//line sql.y:6875
+//line sql.y:6876
{
yyLOCAL = IntervalYear
}
@@ -20339,7 +20340,7 @@ yydefault:
case 1391:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6885
+//line sql.y:6886
{
yyLOCAL = nil
}
@@ -20347,7 +20348,7 @@ yydefault:
case 1392:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6889
+//line sql.y:6890
{
yyLOCAL = nil
}
@@ -20355,7 +20356,7 @@ yydefault:
case 1393:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6893
+//line sql.y:6894
{
yyLOCAL = NewIntLiteral(yyDollar[2].str)
}
@@ -20363,7 +20364,7 @@ yydefault:
case 1394:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6897
+//line sql.y:6898
{
yyLOCAL = parseBindVariable(yylex, yyDollar[2].str[1:])
}
@@ -20371,7 +20372,7 @@ yydefault:
case 1395:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6907
+//line sql.y:6908
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("if"), Exprs: yyDollar[3].selectExprsUnion()}
}
@@ -20379,7 +20380,7 @@ yydefault:
case 1396:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6911
+//line sql.y:6912
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("database"), Exprs: yyDollar[3].selectExprsUnion()}
}
@@ -20387,7 +20388,7 @@ yydefault:
case 1397:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6915
+//line sql.y:6916
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("schema"), Exprs: yyDollar[3].selectExprsUnion()}
}
@@ -20395,7 +20396,7 @@ yydefault:
case 1398:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6919
+//line sql.y:6920
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("mod"), Exprs: yyDollar[3].selectExprsUnion()}
}
@@ -20403,7 +20404,7 @@ yydefault:
case 1399:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6923
+//line sql.y:6924
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("replace"), Exprs: yyDollar[3].selectExprsUnion()}
}
@@ -20411,7 +20412,7 @@ yydefault:
case 1400:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:6929
+//line sql.y:6930
{
yyLOCAL = NoOption
}
@@ -20419,7 +20420,7 @@ yydefault:
case 1401:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:6933
+//line sql.y:6934
{
yyLOCAL = BooleanModeOpt
}
@@ -20427,7 +20428,7 @@ yydefault:
case 1402:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:6937
+//line sql.y:6938
{
yyLOCAL = NaturalLanguageModeOpt
}
@@ -20435,7 +20436,7 @@ yydefault:
case 1403:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:6941
+//line sql.y:6942
{
yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt
}
@@ -20443,33 +20444,33 @@ yydefault:
case 1404:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:6945
+//line sql.y:6946
{
yyLOCAL = QueryExpansionOpt
}
yyVAL.union = yyLOCAL
case 1405:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:6951
+//line sql.y:6952
{
yyVAL.str = string(yyDollar[1].identifierCI.String())
}
case 1406:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:6955
+//line sql.y:6956
{
yyVAL.str = string(yyDollar[1].str)
}
case 1407:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:6959
+//line sql.y:6960
{
yyVAL.str = string(yyDollar[1].str)
}
case 1408:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6965
+//line sql.y:6966
{
yyLOCAL = nil
}
@@ -20477,7 +20478,7 @@ yydefault:
case 1409:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6969
+//line sql.y:6970
{
yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)}
}
@@ -20485,7 +20486,7 @@ yydefault:
case 1410:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6973
+//line sql.y:6974
{
yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)}
}
@@ -20493,7 +20494,7 @@ yydefault:
case 1411:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6979
+//line sql.y:6980
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
}
@@ -20501,7 +20502,7 @@ yydefault:
case 1412:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6983
+//line sql.y:6984
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset}
}
@@ -20509,7 +20510,7 @@ yydefault:
case 1413:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6987
+//line sql.y:6988
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
@@ -20517,7 +20518,7 @@ yydefault:
case 1414:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6991
+//line sql.y:6992
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
}
@@ -20525,7 +20526,7 @@ yydefault:
case 1415:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6995
+//line sql.y:6996
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length
@@ -20535,7 +20536,7 @@ yydefault:
case 1416:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7001
+//line sql.y:7002
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
@@ -20543,7 +20544,7 @@ yydefault:
case 1417:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7005
+//line sql.y:7006
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
}
@@ -20551,7 +20552,7 @@ yydefault:
case 1418:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7009
+//line sql.y:7010
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
@@ -20559,7 +20560,7 @@ yydefault:
case 1419:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7013
+//line sql.y:7014
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
@@ -20567,7 +20568,7 @@ yydefault:
case 1420:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7017
+//line sql.y:7018
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
}
@@ -20575,7 +20576,7 @@ yydefault:
case 1421:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7021
+//line sql.y:7022
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
@@ -20583,7 +20584,7 @@ yydefault:
case 1422:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7025
+//line sql.y:7026
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
@@ -20591,7 +20592,7 @@ yydefault:
case 1423:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7029
+//line sql.y:7030
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
}
@@ -20599,7 +20600,7 @@ yydefault:
case 1424:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7033
+//line sql.y:7034
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
@@ -20607,7 +20608,7 @@ yydefault:
case 1425:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7037
+//line sql.y:7038
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
@@ -20615,7 +20616,7 @@ yydefault:
case 1426:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7043
+//line sql.y:7044
{
yyLOCAL = false
}
@@ -20623,7 +20624,7 @@ yydefault:
case 1427:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:7047
+//line sql.y:7048
{
yyLOCAL = true
}
@@ -20631,7 +20632,7 @@ yydefault:
case 1428:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7052
+//line sql.y:7053
{
yyLOCAL = nil
}
@@ -20639,34 +20640,34 @@ yydefault:
case 1429:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7056
+//line sql.y:7057
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
case 1430:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7061
+//line sql.y:7062
{
yyVAL.str = string("")
}
case 1431:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7065
+//line sql.y:7066
{
yyVAL.str = encodeSQLString(yyDollar[2].str)
}
case 1432:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*When
-//line sql.y:7071
+//line sql.y:7072
{
yyLOCAL = []*When{yyDollar[1].whenUnion()}
}
yyVAL.union = yyLOCAL
case 1433:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7075
+//line sql.y:7076
{
yySLICE := (*[]*When)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].whenUnion())
@@ -20674,7 +20675,7 @@ yydefault:
case 1434:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *When
-//line sql.y:7081
+//line sql.y:7082
{
yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()}
}
@@ -20682,7 +20683,7 @@ yydefault:
case 1435:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7086
+//line sql.y:7087
{
yyLOCAL = nil
}
@@ -20690,7 +20691,7 @@ yydefault:
case 1436:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7090
+//line sql.y:7091
{
yyLOCAL = yyDollar[2].exprUnion()
}
@@ -20698,7 +20699,7 @@ yydefault:
case 1437:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7096
+//line sql.y:7097
{
yyLOCAL = &ColName{Name: yyDollar[1].identifierCI}
}
@@ -20706,7 +20707,7 @@ yydefault:
case 1438:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7100
+//line sql.y:7101
{
yyLOCAL = &ColName{Name: NewIdentifierCI(string(yyDollar[1].str))}
}
@@ -20714,7 +20715,7 @@ yydefault:
case 1439:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7104
+//line sql.y:7105
{
yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].identifierCS}, Name: yyDollar[3].identifierCI}
}
@@ -20722,7 +20723,7 @@ yydefault:
case 1440:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7108
+//line sql.y:7109
{
yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}, Name: yyDollar[5].identifierCI}
}
@@ -20730,7 +20731,7 @@ yydefault:
case 1441:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7114
+//line sql.y:7115
{
yyLOCAL = yyDollar[1].colNameUnion()
}
@@ -20738,7 +20739,7 @@ yydefault:
case 1442:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7118
+//line sql.y:7119
{
yyLOCAL = &Offset{V: convertStringToInt(yyDollar[1].str)}
}
@@ -20746,7 +20747,7 @@ yydefault:
case 1443:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7124
+//line sql.y:7125
{
// TODO(sougou): Deprecate this construct.
if yyDollar[1].identifierCI.Lowered() != "value" {
@@ -20759,7 +20760,7 @@ yydefault:
case 1444:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7133
+//line sql.y:7134
{
yyLOCAL = NewIntLiteral(yyDollar[1].str)
}
@@ -20767,7 +20768,7 @@ yydefault:
case 1445:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7137
+//line sql.y:7138
{
yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:])
}
@@ -20775,7 +20776,7 @@ yydefault:
case 1446:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:7142
+//line sql.y:7143
{
yyLOCAL = nil
}
@@ -20783,7 +20784,7 @@ yydefault:
case 1447:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:7146
+//line sql.y:7147
{
yyLOCAL = yyDollar[3].exprsUnion()
}
@@ -20791,7 +20792,7 @@ yydefault:
case 1448:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7151
+//line sql.y:7152
{
yyLOCAL = nil
}
@@ -20799,7 +20800,7 @@ yydefault:
case 1449:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7155
+//line sql.y:7156
{
yyLOCAL = yyDollar[2].exprUnion()
}
@@ -20807,7 +20808,7 @@ yydefault:
case 1450:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *NamedWindow
-//line sql.y:7161
+//line sql.y:7162
{
yyLOCAL = &NamedWindow{yyDollar[2].windowDefinitionsUnion()}
}
@@ -20815,14 +20816,14 @@ yydefault:
case 1451:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL NamedWindows
-//line sql.y:7167
+//line sql.y:7168
{
yyLOCAL = NamedWindows{yyDollar[1].namedWindowUnion()}
}
yyVAL.union = yyLOCAL
case 1452:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7171
+//line sql.y:7172
{
yySLICE := (*NamedWindows)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].namedWindowUnion())
@@ -20830,7 +20831,7 @@ yydefault:
case 1453:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL NamedWindows
-//line sql.y:7176
+//line sql.y:7177
{
yyLOCAL = nil
}
@@ -20838,7 +20839,7 @@ yydefault:
case 1454:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL NamedWindows
-//line sql.y:7180
+//line sql.y:7181
{
yyLOCAL = yyDollar[1].namedWindowsUnion()
}
@@ -20846,7 +20847,7 @@ yydefault:
case 1455:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7185
+//line sql.y:7186
{
yyLOCAL = nil
}
@@ -20854,7 +20855,7 @@ yydefault:
case 1456:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7189
+//line sql.y:7190
{
yyLOCAL = yyDollar[1].orderByUnion()
}
@@ -20862,7 +20863,7 @@ yydefault:
case 1457:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7195
+//line sql.y:7196
{
yyLOCAL = yyDollar[3].orderByUnion()
}
@@ -20870,14 +20871,14 @@ yydefault:
case 1458:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7201
+//line sql.y:7202
{
yyLOCAL = OrderBy{yyDollar[1].orderUnion()}
}
yyVAL.union = yyLOCAL
case 1459:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7205
+//line sql.y:7206
{
yySLICE := (*OrderBy)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].orderUnion())
@@ -20885,7 +20886,7 @@ yydefault:
case 1460:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Order
-//line sql.y:7211
+//line sql.y:7212
{
yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()}
}
@@ -20893,7 +20894,7 @@ yydefault:
case 1461:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL OrderDirection
-//line sql.y:7216
+//line sql.y:7217
{
yyLOCAL = AscOrder
}
@@ -20901,7 +20902,7 @@ yydefault:
case 1462:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderDirection
-//line sql.y:7220
+//line sql.y:7221
{
yyLOCAL = AscOrder
}
@@ -20909,7 +20910,7 @@ yydefault:
case 1463:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderDirection
-//line sql.y:7224
+//line sql.y:7225
{
yyLOCAL = DescOrder
}
@@ -20917,7 +20918,7 @@ yydefault:
case 1464:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7229
+//line sql.y:7230
{
yyLOCAL = nil
}
@@ -20925,7 +20926,7 @@ yydefault:
case 1465:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7233
+//line sql.y:7234
{
yyLOCAL = yyDollar[1].limitUnion()
}
@@ -20933,7 +20934,7 @@ yydefault:
case 1466:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7239
+//line sql.y:7240
{
yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()}
}
@@ -20941,7 +20942,7 @@ yydefault:
case 1467:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7243
+//line sql.y:7244
{
yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()}
}
@@ -20949,7 +20950,7 @@ yydefault:
case 1468:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7247
+//line sql.y:7248
{
yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()}
}
@@ -20957,7 +20958,7 @@ yydefault:
case 1469:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7252
+//line sql.y:7253
{
yyLOCAL = nil
}
@@ -20965,7 +20966,7 @@ yydefault:
case 1470:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7256
+//line sql.y:7257
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()}
}
@@ -20973,7 +20974,7 @@ yydefault:
case 1471:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7260
+//line sql.y:7261
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()}
}
@@ -20981,7 +20982,7 @@ yydefault:
case 1472:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7264
+//line sql.y:7265
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
}
@@ -20989,7 +20990,7 @@ yydefault:
case 1473:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7268
+//line sql.y:7269
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
}
@@ -20997,7 +20998,7 @@ yydefault:
case 1474:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7275
+//line sql.y:7276
{
yyLOCAL = &LockOption{Type: DefaultType}
}
@@ -21005,7 +21006,7 @@ yydefault:
case 1475:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7279
+//line sql.y:7280
{
yyLOCAL = &LockOption{Type: NoneType}
}
@@ -21013,7 +21014,7 @@ yydefault:
case 1476:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7283
+//line sql.y:7284
{
yyLOCAL = &LockOption{Type: SharedType}
}
@@ -21021,7 +21022,7 @@ yydefault:
case 1477:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7287
+//line sql.y:7288
{
yyLOCAL = &LockOption{Type: ExclusiveType}
}
@@ -21029,7 +21030,7 @@ yydefault:
case 1478:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7293
+//line sql.y:7294
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
@@ -21037,7 +21038,7 @@ yydefault:
case 1479:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7297
+//line sql.y:7298
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
@@ -21045,7 +21046,7 @@ yydefault:
case 1480:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7301
+//line sql.y:7302
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
@@ -21053,93 +21054,93 @@ yydefault:
case 1481:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7305
+//line sql.y:7306
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
case 1482:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7310
+//line sql.y:7311
{
yyVAL.str = ""
}
case 1483:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7314
+//line sql.y:7315
{
yyVAL.str = string(yyDollar[3].str)
}
case 1484:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7318
+//line sql.y:7319
{
yyVAL.str = string(yyDollar[3].str)
}
case 1485:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7322
+//line sql.y:7323
{
yyVAL.str = string(yyDollar[3].str)
}
case 1486:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7327
+//line sql.y:7328
{
yyVAL.str = ""
}
case 1487:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7331
+//line sql.y:7332
{
yyVAL.str = yyDollar[3].str
}
case 1488:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7337
+//line sql.y:7338
{
yyVAL.str = string(yyDollar[1].str)
}
case 1489:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7341
+//line sql.y:7342
{
yyVAL.str = string(yyDollar[1].str)
}
case 1490:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7346
+//line sql.y:7347
{
yyVAL.str = ""
}
case 1491:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:7350
+//line sql.y:7351
{
yyVAL.str = yyDollar[2].str
}
case 1492:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7355
+//line sql.y:7356
{
yyVAL.str = "cascaded"
}
case 1493:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7359
+//line sql.y:7360
{
yyVAL.str = string(yyDollar[1].str)
}
case 1494:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7363
+//line sql.y:7364
{
yyVAL.str = string(yyDollar[1].str)
}
case 1495:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7368
+//line sql.y:7369
{
yyLOCAL = nil
}
@@ -21147,7 +21148,7 @@ yydefault:
case 1496:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7372
+//line sql.y:7373
{
yyLOCAL = yyDollar[3].definerUnion()
}
@@ -21155,7 +21156,7 @@ yydefault:
case 1497:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7378
+//line sql.y:7379
{
yyLOCAL = &Definer{
Name: string(yyDollar[1].str),
@@ -21165,7 +21166,7 @@ yydefault:
case 1498:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7384
+//line sql.y:7385
{
yyLOCAL = &Definer{
Name: string(yyDollar[1].str),
@@ -21175,7 +21176,7 @@ yydefault:
case 1499:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7390
+//line sql.y:7391
{
yyLOCAL = &Definer{
Name: yyDollar[1].str,
@@ -21185,32 +21186,32 @@ yydefault:
yyVAL.union = yyLOCAL
case 1500:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7399
+//line sql.y:7400
{
yyVAL.str = encodeSQLString(yyDollar[1].str)
}
case 1501:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7403
+//line sql.y:7404
{
yyVAL.str = formatIdentifier(yyDollar[1].str)
}
case 1502:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7408
+//line sql.y:7409
{
yyVAL.str = ""
}
case 1503:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7412
+//line sql.y:7413
{
yyVAL.str = formatAddress(yyDollar[1].str)
}
case 1504:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7418
+//line sql.y:7419
{
yyLOCAL = ForUpdateLock
}
@@ -21218,7 +21219,7 @@ yydefault:
case 1505:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7422
+//line sql.y:7423
{
yyLOCAL = ForUpdateLockNoWait
}
@@ -21226,7 +21227,7 @@ yydefault:
case 1506:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7426
+//line sql.y:7427
{
yyLOCAL = ForUpdateLockSkipLocked
}
@@ -21234,7 +21235,7 @@ yydefault:
case 1507:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7430
+//line sql.y:7431
{
yyLOCAL = ForShareLock
}
@@ -21242,7 +21243,7 @@ yydefault:
case 1508:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7434
+//line sql.y:7435
{
yyLOCAL = ForShareLockNoWait
}
@@ -21250,7 +21251,7 @@ yydefault:
case 1509:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7438
+//line sql.y:7439
{
yyLOCAL = ForShareLockSkipLocked
}
@@ -21258,7 +21259,7 @@ yydefault:
case 1510:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7442
+//line sql.y:7443
{
yyLOCAL = ShareModeLock
}
@@ -21266,7 +21267,7 @@ yydefault:
case 1511:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL *SelectInto
-//line sql.y:7448
+//line sql.y:7449
{
yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str}
}
@@ -21274,7 +21275,7 @@ yydefault:
case 1512:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SelectInto
-//line sql.y:7452
+//line sql.y:7453
{
yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""}
}
@@ -21282,177 +21283,177 @@ yydefault:
case 1513:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *SelectInto
-//line sql.y:7456
+//line sql.y:7457
{
yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""}
}
yyVAL.union = yyLOCAL
case 1514:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7461
+//line sql.y:7462
{
yyVAL.str = ""
}
case 1515:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7465
+//line sql.y:7466
{
yyVAL.str = " format csv" + yyDollar[3].str
}
case 1516:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7469
+//line sql.y:7470
{
yyVAL.str = " format text" + yyDollar[3].str
}
case 1517:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7474
+//line sql.y:7475
{
yyVAL.str = ""
}
case 1518:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7478
+//line sql.y:7479
{
yyVAL.str = " header"
}
case 1519:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7483
+//line sql.y:7484
{
yyVAL.str = ""
}
case 1520:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7487
+//line sql.y:7488
{
yyVAL.str = " manifest on"
}
case 1521:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7491
+//line sql.y:7492
{
yyVAL.str = " manifest off"
}
case 1522:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7496
+//line sql.y:7497
{
yyVAL.str = ""
}
case 1523:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7500
+//line sql.y:7501
{
yyVAL.str = " overwrite on"
}
case 1524:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7504
+//line sql.y:7505
{
yyVAL.str = " overwrite off"
}
case 1525:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7510
+//line sql.y:7511
{
yyVAL.str = yyDollar[1].str + yyDollar[2].str
}
case 1526:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7515
+//line sql.y:7516
{
yyVAL.str = ""
}
case 1527:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7519
+//line sql.y:7520
{
yyVAL.str = " lines" + yyDollar[2].str
}
case 1528:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7525
+//line sql.y:7526
{
yyVAL.str = yyDollar[1].str
}
case 1529:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7529
+//line sql.y:7530
{
yyVAL.str = yyDollar[1].str + yyDollar[2].str
}
case 1530:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7535
+//line sql.y:7536
{
yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str)
}
case 1531:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7539
+//line sql.y:7540
{
yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str)
}
case 1532:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7544
+//line sql.y:7545
{
yyVAL.str = ""
}
case 1533:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7548
+//line sql.y:7549
{
yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str
}
case 1534:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7554
+//line sql.y:7555
{
yyVAL.str = yyDollar[1].str
}
case 1535:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7558
+//line sql.y:7559
{
yyVAL.str = yyDollar[1].str + yyDollar[2].str
}
case 1536:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7564
+//line sql.y:7565
{
yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str)
}
case 1537:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:7568
+//line sql.y:7569
{
yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str)
}
case 1538:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7572
+//line sql.y:7573
{
yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str)
}
case 1539:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7577
+//line sql.y:7578
{
yyVAL.str = ""
}
case 1540:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7581
+//line sql.y:7582
{
yyVAL.str = " optionally"
}
case 1541:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7594
+//line sql.y:7595
{
yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()}
}
@@ -21460,7 +21461,7 @@ yydefault:
case 1542:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7598
+//line sql.y:7599
{
yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()}
}
@@ -21468,7 +21469,7 @@ yydefault:
case 1543:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7602
+//line sql.y:7603
{
yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()}
}
@@ -21476,7 +21477,7 @@ yydefault:
case 1544:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7606
+//line sql.y:7607
{
yyLOCAL = &Insert{Columns: []IdentifierCI{}, Rows: yyDollar[4].valuesUnion()}
}
@@ -21484,7 +21485,7 @@ yydefault:
case 1545:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7610
+//line sql.y:7611
{
yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()}
}
@@ -21492,7 +21493,7 @@ yydefault:
case 1546:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Columns
-//line sql.y:7616
+//line sql.y:7617
{
yyLOCAL = Columns{yyDollar[1].identifierCI}
}
@@ -21500,21 +21501,21 @@ yydefault:
case 1547:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Columns
-//line sql.y:7620
+//line sql.y:7621
{
yyLOCAL = Columns{yyDollar[3].identifierCI}
}
yyVAL.union = yyLOCAL
case 1548:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7624
+//line sql.y:7625
{
yySLICE := (*Columns)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
}
case 1549:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:7628
+//line sql.y:7629
{
yySLICE := (*Columns)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[5].identifierCI)
@@ -21522,7 +21523,7 @@ yydefault:
case 1550:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL UpdateExprs
-//line sql.y:7633
+//line sql.y:7634
{
yyLOCAL = nil
}
@@ -21530,7 +21531,7 @@ yydefault:
case 1551:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL UpdateExprs
-//line sql.y:7637
+//line sql.y:7638
{
yyLOCAL = yyDollar[5].updateExprsUnion()
}
@@ -21538,14 +21539,14 @@ yydefault:
case 1552:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Values
-//line sql.y:7643
+//line sql.y:7644
{
yyLOCAL = Values{yyDollar[1].valTupleUnion()}
}
yyVAL.union = yyLOCAL
case 1553:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7647
+//line sql.y:7648
{
yySLICE := (*Values)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion())
@@ -21553,7 +21554,7 @@ yydefault:
case 1554:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7653
+//line sql.y:7654
{
yyLOCAL = yyDollar[1].valTupleUnion()
}
@@ -21561,7 +21562,7 @@ yydefault:
case 1555:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7657
+//line sql.y:7658
{
yyLOCAL = ValTuple{}
}
@@ -21569,7 +21570,7 @@ yydefault:
case 1556:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7663
+//line sql.y:7664
{
yyLOCAL = ValTuple(yyDollar[2].exprsUnion())
}
@@ -21577,7 +21578,7 @@ yydefault:
case 1557:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7667
+//line sql.y:7668
{
yyLOCAL = ValTuple(yyDollar[3].exprsUnion())
}
@@ -21585,7 +21586,7 @@ yydefault:
case 1558:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7672
+//line sql.y:7673
{
if len(yyDollar[1].valTupleUnion()) == 1 {
yyLOCAL = yyDollar[1].valTupleUnion()[0]
@@ -21597,14 +21598,14 @@ yydefault:
case 1559:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL UpdateExprs
-//line sql.y:7682
+//line sql.y:7683
{
yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()}
}
yyVAL.union = yyLOCAL
case 1560:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7686
+//line sql.y:7687
{
yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion())
@@ -21612,21 +21613,21 @@ yydefault:
case 1561:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *UpdateExpr
-//line sql.y:7692
+//line sql.y:7693
{
yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
case 1563:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7699
+//line sql.y:7700
{
yyVAL.str = "charset"
}
case 1566:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7709
+//line sql.y:7710
{
yyLOCAL = NewStrLiteral(yyDollar[1].identifierCI.String())
}
@@ -21634,7 +21635,7 @@ yydefault:
case 1567:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7713
+//line sql.y:7714
{
yyLOCAL = NewStrLiteral(yyDollar[1].str)
}
@@ -21642,7 +21643,7 @@ yydefault:
case 1568:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7717
+//line sql.y:7718
{
yyLOCAL = &Default{}
}
@@ -21650,7 +21651,7 @@ yydefault:
case 1571:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7726
+//line sql.y:7727
{
yyLOCAL = false
}
@@ -21658,7 +21659,7 @@ yydefault:
case 1572:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:7728
+//line sql.y:7729
{
yyLOCAL = true
}
@@ -21666,7 +21667,7 @@ yydefault:
case 1573:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7731
+//line sql.y:7732
{
yyLOCAL = false
}
@@ -21674,7 +21675,7 @@ yydefault:
case 1574:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:7733
+//line sql.y:7734
{
yyLOCAL = true
}
@@ -21682,7 +21683,7 @@ yydefault:
case 1575:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7736
+//line sql.y:7737
{
yyLOCAL = false
}
@@ -21690,7 +21691,7 @@ yydefault:
case 1576:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL bool
-//line sql.y:7738
+//line sql.y:7739
{
yyLOCAL = true
}
@@ -21698,7 +21699,7 @@ yydefault:
case 1577:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Ignore
-//line sql.y:7741
+//line sql.y:7742
{
yyLOCAL = false
}
@@ -21706,33 +21707,33 @@ yydefault:
case 1578:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Ignore
-//line sql.y:7743
+//line sql.y:7744
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
case 1579:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7746
+//line sql.y:7747
{
yyVAL.empty = struct{}{}
}
case 1580:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7748
+//line sql.y:7749
{
yyVAL.empty = struct{}{}
}
case 1581:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7750
+//line sql.y:7751
{
yyVAL.empty = struct{}{}
}
case 1582:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:7754
+//line sql.y:7755
{
yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()}
}
@@ -21740,7 +21741,7 @@ yydefault:
case 1583:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:7759
+//line sql.y:7760
{
yyLOCAL = nil
}
@@ -21748,7 +21749,7 @@ yydefault:
case 1584:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:7763
+//line sql.y:7764
{
yyLOCAL = yyDollar[1].exprsUnion()
}
@@ -21756,7 +21757,7 @@ yydefault:
case 1585:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []*IndexOption
-//line sql.y:7768
+//line sql.y:7769
{
yyLOCAL = nil
}
@@ -21764,7 +21765,7 @@ yydefault:
case 1586:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*IndexOption
-//line sql.y:7770
+//line sql.y:7771
{
yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()}
}
@@ -21772,90 +21773,90 @@ yydefault:
case 1587:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:7774
+//line sql.y:7775
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].identifierCI.String())}
}
yyVAL.union = yyLOCAL
case 1588:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7780
+//line sql.y:7781
{
yyVAL.identifierCI = yyDollar[1].identifierCI
}
case 1589:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7784
+//line sql.y:7785
{
yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
}
case 1591:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7791
+//line sql.y:7792
{
yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
}
case 1592:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7797
+//line sql.y:7798
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
case 1593:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7801
+//line sql.y:7802
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
case 1594:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7807
+//line sql.y:7808
{
yyVAL.identifierCS = NewIdentifierCS("")
}
case 1595:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7811
+//line sql.y:7812
{
yyVAL.identifierCS = yyDollar[1].identifierCS
}
case 1597:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7818
+//line sql.y:7819
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
case 2202:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8449
+//line sql.y:8450
{
}
case 2203:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8454
+//line sql.y:8455
{
}
case 2204:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:8458
+//line sql.y:8459
{
skipToEnd(yylex)
}
case 2205:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:8463
+//line sql.y:8464
{
skipToEnd(yylex)
}
case 2206:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8467
+//line sql.y:8468
{
skipToEnd(yylex)
}
case 2207:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8471
+//line sql.y:8472
{
skipToEnd(yylex)
}
diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y
index 6750c3cedca..b424a57a9c5 100644
--- a/go/vt/sqlparser/sql.y
+++ b/go/vt/sqlparser/sql.y
@@ -5614,6 +5614,7 @@ window_partition_clause_opt:
sql_id_opt:
{
+ $$ = IdentifierCI{}
}
| sql_id
{
diff --git a/go/vt/throttler/throttler.go b/go/vt/throttler/throttler.go
index 83a1c52225e..68905db1ad5 100644
--- a/go/vt/throttler/throttler.go
+++ b/go/vt/throttler/throttler.go
@@ -35,6 +35,7 @@ import (
"vitess.io/vitess/go/vt/discovery"
"vitess.io/vitess/go/vt/log"
+ "vitess.io/vitess/go/vt/proto/topodata"
throttlerdatapb "vitess.io/vitess/go/vt/proto/throttlerdata"
)
@@ -224,6 +225,28 @@ func (t *Throttler) Throttle(threadID int) time.Duration {
return t.threadThrottlers[threadID].throttle(t.nowFunc())
}
+// MaxLag returns the max of all the last replication lag values seen across all tablets of
+// the provided type, excluding ignored tablets.
+func (t *Throttler) MaxLag(tabletType topodata.TabletType) uint32 {
+ cache := t.maxReplicationLagModule.lagCacheByType(tabletType)
+
+ var maxLag uint32
+ cacheEntries := cache.entries
+
+ for key := range cacheEntries {
+ if cache.isIgnored(key) {
+ continue
+ }
+
+ lag := cache.latest(key).Stats.ReplicationLagSeconds
+ if lag > maxLag {
+ maxLag = lag
+ }
+ }
+
+ return maxLag
+}
+
// ThreadFinished marks threadID as finished and redistributes the thread's
// rate allotment across the other threads.
// After ThreadFinished() is called, Throttle() must not be called anymore.
diff --git a/go/vt/tlstest/tlstest_test.go b/go/vt/tlstest/tlstest_test.go
index c12e65b8d88..1e4d4d261b8 100644
--- a/go/vt/tlstest/tlstest_test.go
+++ b/go/vt/tlstest/tlstest_test.go
@@ -162,7 +162,7 @@ func testClientServer(t *testing.T, combineCerts bool) {
// With TLS 1.3, the Dial will succeed and the first Read will fail.
clientConn, err := tls.DialWithDialer(dialer, "tcp", addr, badClientConfig)
if err != nil {
- if !strings.Contains(err.Error(), "bad certificate") {
+ if !strings.Contains(err.Error(), "certificate required") {
t.Errorf("Wrong error returned: %v", err)
}
return
@@ -177,7 +177,7 @@ func testClientServer(t *testing.T, combineCerts bool) {
if err == nil {
t.Fatalf("Dial or first Read was expected to fail")
}
- if !strings.Contains(err.Error(), "bad certificate") {
+ if !strings.Contains(err.Error(), "certificate required") {
t.Errorf("Wrong error returned: %v", err)
}
}
diff --git a/go/vt/topo/zk2topo/lock.go b/go/vt/topo/zk2topo/lock.go
index 974361544a5..5baf1f7f33f 100644
--- a/go/vt/topo/zk2topo/lock.go
+++ b/go/vt/topo/zk2topo/lock.go
@@ -91,19 +91,22 @@ func (zs *Server) lock(ctx context.Context, dirPath, contents string) (topo.Lock
case context.Canceled:
errToReturn = topo.NewError(topo.Interrupted, nodePath)
default:
- errToReturn = vterrors.Wrapf(err, "failed to obtain action lock: %v", nodePath)
+ errToReturn = vterrors.Wrapf(err, "failed to obtain lock: %v", nodePath)
}
// Regardless of the reason, try to cleanup.
- log.Warningf("Failed to obtain action lock: %v", err)
+ log.Warningf("Failed to obtain lock: %v", err)
- if err := zs.conn.Delete(ctx, nodePath, -1); err != nil {
- log.Warningf("Failed to close connection :%v", err)
+ cleanupCtx, cancel := context.WithTimeout(context.Background(), baseTimeout)
+ defer cancel()
+
+ if err := zs.conn.Delete(cleanupCtx, nodePath, -1); err != nil {
+ log.Warningf("Failed to cleanup unsuccessful lock path %s: %v", nodePath, err)
}
// Show the other locks in the directory
dir := path.Dir(nodePath)
- children, _, err := zs.conn.Children(ctx, dir)
+ children, _, err := zs.conn.Children(cleanupCtx, dir)
if err != nil {
log.Warningf("Failed to get children of %v: %v", dir, err)
return nil, errToReturn
@@ -115,7 +118,7 @@ func (zs *Server) lock(ctx context.Context, dirPath, contents string) (topo.Lock
}
childPath := path.Join(dir, children[0])
- data, _, err := zs.conn.Get(ctx, childPath)
+ data, _, err := zs.conn.Get(cleanupCtx, childPath)
if err != nil {
log.Warningf("Failed to get first locks node %v (may have just ended): %v", childPath, err)
return nil, errToReturn
diff --git a/go/vt/vtadmin/cache/cache.go b/go/vt/vtadmin/cache/cache.go
index 1768ce1f924..bc53efb80db 100644
--- a/go/vt/vtadmin/cache/cache.go
+++ b/go/vt/vtadmin/cache/cache.go
@@ -54,6 +54,9 @@ const (
// backfill requests to still process, if a config is passed with a
// non-positive BackfillRequestTTL.
DefaultBackfillRequestTTL = time.Millisecond * 100
+ // DefaultBackfillQueueSize is the default value used for the size of the
+ // backfill queue, if a config is passed with a non-positive BackfillQueueSize.
+ DefaultBackfillQueueSize = 0
)
// Config is the configuration for a cache.
@@ -125,6 +128,11 @@ func New[Key Keyer, Value any](fillFunc func(ctx context.Context, req Key) (Valu
cfg.BackfillRequestTTL = DefaultBackfillRequestTTL
}
+ if cfg.BackfillQueueSize < 0 {
+ log.Warningf("BackfillQueueSize (%v) must be positive, defaulting to %v", cfg.BackfillQueueSize, DefaultBackfillQueueSize)
+ cfg.BackfillQueueSize = DefaultBackfillQueueSize
+ }
+
c := &Cache[Key, Value]{
cache: cache.New(cfg.DefaultExpiration, cfg.CleanupInterval),
lastFill: map[string]time.Time{},
diff --git a/go/vt/vtadmin/cache/cache_test.go b/go/vt/vtadmin/cache/cache_test.go
index 93a6898db5d..d92bb32949c 100644
--- a/go/vt/vtadmin/cache/cache_test.go
+++ b/go/vt/vtadmin/cache/cache_test.go
@@ -93,6 +93,45 @@ func TestBackfillDuplicates(t *testing.T) {
}
}
+func TestBackfillQueueSize(t *testing.T) {
+ t.Parallel()
+
+ tests := []struct {
+ name string
+ configuredBackfillQueueSize int
+ expectedBackfillQueueSize int
+ }{
+ {
+ name: "configured negative backfill queue size",
+ configuredBackfillQueueSize: -1,
+ expectedBackfillQueueSize: 0,
+ }, {
+ name: "configured 0 backfill queue size",
+ configuredBackfillQueueSize: 0,
+ expectedBackfillQueueSize: 0,
+ }, {
+ name: "configured positive backfill queue size",
+ configuredBackfillQueueSize: 1,
+ expectedBackfillQueueSize: 1,
+ },
+ }
+ for _, tt := range tests {
+ tt := tt
+
+ t.Run(tt.name, func(t *testing.T) {
+ t.Parallel()
+
+ c := cache.New(func(ctx context.Context, req intkey) (any, error) {
+ return nil, nil
+ }, cache.Config{
+ BackfillQueueSize: tt.configuredBackfillQueueSize,
+ })
+ var config cache.Config = c.Debug()["config"].(cache.Config)
+ assert.Equal(t, tt.expectedBackfillQueueSize, config.BackfillQueueSize)
+ })
+ }
+}
+
func TestBackfillTTL(t *testing.T) {
t.Parallel()
diff --git a/go/vt/vtadmin/cluster/cluster.go b/go/vt/vtadmin/cluster/cluster.go
index 917b64ff4d9..2acc336b406 100644
--- a/go/vt/vtadmin/cluster/cluster.go
+++ b/go/vt/vtadmin/cluster/cluster.go
@@ -1424,7 +1424,10 @@ func (c *Cluster) GetSchemas(ctx context.Context, opts GetSchemaOptions) ([]*vta
span.Annotate("cache_hit", ok)
if ok {
+ log.Infof("GetSchemas(cluster = %s) fetching schemas from schema cache", c.ID)
return schemas, err
+ } else {
+ log.Infof("GetSchemas(cluster = %s) bypassing schema cache", c.ID)
}
}
diff --git a/go/vt/vtgate/evalengine/compiler_asm.go b/go/vt/vtgate/evalengine/compiler_asm.go
index c62c31f6782..78e535bfcf6 100644
--- a/go/vt/vtgate/evalengine/compiler_asm.go
+++ b/go/vt/vtgate/evalengine/compiler_asm.go
@@ -4253,7 +4253,8 @@ func (asm *assembler) Fn_UUID_TO_BIN1() {
func (asm *assembler) Introduce(offset int, t sqltypes.Type, col collations.TypedCollation) {
asm.emit(func(env *ExpressionEnv) int {
- arg := evalToBinary(env.vm.stack[env.vm.sp-offset])
+ var arg *evalBytes
+ arg, env.vm.err = introducerCast(env.vm.stack[env.vm.sp-offset], col.Collation)
arg.tt = int16(t)
arg.col = col
env.vm.stack[env.vm.sp-offset] = arg
diff --git a/go/vt/vtgate/evalengine/compiler_test.go b/go/vt/vtgate/evalengine/compiler_test.go
index b38b5f14557..5cf335c14e2 100644
--- a/go/vt/vtgate/evalengine/compiler_test.go
+++ b/go/vt/vtgate/evalengine/compiler_test.go
@@ -492,6 +492,30 @@ func TestCompilerSingle(t *testing.T) {
expression: `week('2024-12-31', 5)`,
result: `INT64(53)`,
},
+ {
+ expression: `convert(0xFF using utf16)`,
+ result: `VARCHAR("ÿ")`,
+ },
+ {
+ expression: `_utf16 0xFF`,
+ result: `VARCHAR("ÿ")`,
+ },
+ {
+ expression: `convert(0xFF using utf32)`,
+ result: `NULL`,
+ },
+ {
+ expression: `cast(_utf32 0xFF as binary)`,
+ result: `VARBINARY("\x00\x00\x00\xff")`,
+ },
+ {
+ expression: `cast(_utf32 0x00FF as binary)`,
+ result: `VARBINARY("\x00\x00\x00\xff")`,
+ },
+ {
+ expression: `cast(_utf32 0x0000FF as binary)`,
+ result: `VARBINARY("\x00\x00\x00\xff")`,
+ },
}
for _, tc := range testCases {
diff --git a/go/vt/vtgate/evalengine/expr_collate.go b/go/vt/vtgate/evalengine/expr_collate.go
index c03a61b2178..2d1f04d1243 100644
--- a/go/vt/vtgate/evalengine/expr_collate.go
+++ b/go/vt/vtgate/evalengine/expr_collate.go
@@ -18,6 +18,7 @@ package evalengine
import (
"vitess.io/vitess/go/mysql/collations"
+ "vitess.io/vitess/go/mysql/collations/charset"
"vitess.io/vitess/go/sqltypes"
querypb "vitess.io/vitess/go/vt/proto/query"
vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
@@ -210,15 +211,45 @@ func (ca *collationAggregation) result() collations.TypedCollation {
var _ Expr = (*IntroducerExpr)(nil)
+func introducerCast(e eval, col collations.ID) (*evalBytes, error) {
+ if col == collations.CollationBinaryID {
+ return evalToBinary(e), nil
+ }
+
+ var bytes []byte
+ if b, ok := e.(*evalBytes); !ok {
+ bytes = b.ToRawBytes()
+ } else {
+ cs := col.Get().Charset()
+ bytes = b.bytes
+ // We only need to pad here for encodings that have a minimum
+ // character byte width larger than 1, which is all UTF-16
+ // variations and UTF-32.
+ switch cs.(type) {
+ case charset.Charset_utf16, charset.Charset_utf16le, charset.Charset_ucs2:
+ if len(bytes)%2 != 0 {
+ bytes = append([]byte{0}, bytes...)
+ }
+ case charset.Charset_utf32:
+ if mod := len(bytes) % 4; mod != 0 {
+ bytes = append(make([]byte, 4-mod), bytes...)
+ }
+ }
+ }
+ typedcol := collations.TypedCollation{
+ Collation: col,
+ Coercibility: collations.CoerceCoercible,
+ Repertoire: collations.RepertoireASCII,
+ }
+ return newEvalText(bytes, typedcol), nil
+}
+
func (expr *IntroducerExpr) eval(env *ExpressionEnv) (eval, error) {
e, err := expr.Inner.eval(env)
if err != nil {
return nil, err
}
- if expr.TypedCollation.Collation == collations.CollationBinaryID {
- return evalToBinary(e), nil
- }
- return evalToVarchar(e, expr.TypedCollation.Collation, false)
+ return introducerCast(e, expr.TypedCollation.Collation)
}
func (expr *IntroducerExpr) typeof(env *ExpressionEnv, fields []*querypb.Field) (sqltypes.Type, typeFlag) {
diff --git a/go/vt/vtgate/evalengine/translate.go b/go/vt/vtgate/evalengine/translate.go
index 6b14d8d350c..8dedeb8bfb4 100644
--- a/go/vt/vtgate/evalengine/translate.go
+++ b/go/vt/vtgate/evalengine/translate.go
@@ -361,7 +361,7 @@ func (ast *astCompiler) translateIntroducerExpr(introduced *sqlparser.Introducer
case collations.CollationBinaryID:
lit.inner = evalToBinary(lit.inner)
default:
- lit.inner, err = evalToVarchar(lit.inner, collation, false)
+ lit.inner, err = introducerCast(lit.inner, collation)
if err != nil {
return nil, err
}
diff --git a/go/vt/vtgate/planbuilder/operators/SQL_builder.go b/go/vt/vtgate/planbuilder/operators/SQL_builder.go
index 07fa5fbbd9d..3393c96f863 100644
--- a/go/vt/vtgate/planbuilder/operators/SQL_builder.go
+++ b/go/vt/vtgate/planbuilder/operators/SQL_builder.go
@@ -471,6 +471,7 @@ func buildDerived(op *Derived, qb *queryBuilder) error {
sel.GroupBy = opQuery.GroupBy
sel.Having = mergeHaving(sel.Having, opQuery.Having)
sel.SelectExprs = opQuery.SelectExprs
+ sel.Distinct = opQuery.Distinct
qb.addTableExpr(op.Alias, op.Alias, TableID(op), &sqlparser.DerivedTable{
Select: sel,
}, nil, op.ColumnAliases)
diff --git a/go/vt/vtgate/planbuilder/operators/aggregator.go b/go/vt/vtgate/planbuilder/operators/aggregator.go
index c9327b4e384..410a7ae9357 100644
--- a/go/vt/vtgate/planbuilder/operators/aggregator.go
+++ b/go/vt/vtgate/planbuilder/operators/aggregator.go
@@ -109,6 +109,13 @@ func (a *Aggregator) isDerived() bool {
return a.TableID != nil
}
+func (a *Aggregator) derivedName() string {
+ if a.TableID == nil {
+ return ""
+ }
+ return a.Alias
+}
+
func (a *Aggregator) AddColumn(ctx *plancontext.PlanningContext, expr *sqlparser.AliasedExpr, _, addToGroupBy bool) (ops.Operator, int, error) {
if addToGroupBy {
return nil, 0, vterrors.VT13001("did not expect to add group by here")
diff --git a/go/vt/vtgate/planbuilder/operators/horizon_planning.go b/go/vt/vtgate/planbuilder/operators/horizon_planning.go
index 75067f71d69..aee43c830d3 100644
--- a/go/vt/vtgate/planbuilder/operators/horizon_planning.go
+++ b/go/vt/vtgate/planbuilder/operators/horizon_planning.go
@@ -465,12 +465,12 @@ func pushDownProjectionInApplyJoin(
var err error
// Create and update the Projection operators for the left and right children, if needed.
- src.LHS, err = createProjectionWithTheseColumns(src.LHS, lhs, p.TableID, p.Alias)
+ src.LHS, err = createProjectionWithTheseColumns(ctx, src.LHS, lhs, p.TableID, p.Alias)
if err != nil {
return nil, nil, err
}
- src.RHS, err = createProjectionWithTheseColumns(src.RHS, rhs, p.TableID, p.Alias)
+ src.RHS, err = createProjectionWithTheseColumns(ctx, src.RHS, rhs, p.TableID, p.Alias)
if err != nil {
return nil, nil, err
}
@@ -579,6 +579,7 @@ func prefixColNames(tblName sqlparser.TableName, e sqlparser.Expr) (out sqlparse
}
func createProjectionWithTheseColumns(
+ ctx *plancontext.PlanningContext,
src ops.Operator,
p *projector,
tableID *semantics.TableSet,
@@ -587,7 +588,7 @@ func createProjectionWithTheseColumns(
if len(p.cols) == 0 {
return src, nil
}
- proj, err := createProjection(src)
+ proj, err := createProjection(ctx, src, "")
if err != nil {
return nil, err
}
diff --git a/go/vt/vtgate/planbuilder/operators/projection.go b/go/vt/vtgate/planbuilder/operators/projection.go
index 1ed2e1cd681..07a44e3d273 100644
--- a/go/vt/vtgate/planbuilder/operators/projection.go
+++ b/go/vt/vtgate/planbuilder/operators/projection.go
@@ -92,6 +92,13 @@ func (p *Projection) isDerived() bool {
return p.TableID != nil
}
+func (p *Projection) derivedName() string {
+ if p.TableID == nil {
+ return ""
+ }
+ return p.Alias
+}
+
func (p *Projection) AddColumn(ctx *plancontext.PlanningContext, expr *sqlparser.AliasedExpr, _, addToGroupBy bool) (ops.Operator, int, error) {
if offset, found := canReuseColumn(ctx, p.Columns, expr.Expr, extractExpr); found {
return p, offset, nil
diff --git a/go/vt/vtgate/planbuilder/operators/route.go b/go/vt/vtgate/planbuilder/operators/route.go
index b1bb359aa7c..5a0079632b2 100644
--- a/go/vt/vtgate/planbuilder/operators/route.go
+++ b/go/vt/vtgate/planbuilder/operators/route.go
@@ -531,14 +531,26 @@ func (r *Route) AddPredicate(ctx *plancontext.PlanningContext, expr sqlparser.Ex
return r, err
}
-func createProjection(src ops.Operator) (*Projection, error) {
+func createProjection(ctx *plancontext.PlanningContext, src ops.Operator, derivedName string) (*Projection, error) {
proj := &Projection{Source: src}
cols, err := src.GetColumns()
if err != nil {
return nil, err
}
for _, col := range cols {
- proj.addUnexploredExpr(col, col.Expr)
+ if derivedName == "" {
+ proj.addUnexploredExpr(col, col.Expr)
+ continue
+ }
+
+ // for derived tables, we want to use the exposed colname
+ tableName := sqlparser.TableName{
+ Name: sqlparser.NewIdentifierCS(derivedName),
+ }
+ columnName := col.ColumnName()
+ colName := sqlparser.NewColNameWithQualifier(columnName, tableName)
+ ctx.SemTable.CopyDependencies(col.Expr, colName)
+ proj.addUnexploredExpr(aeWrap(colName), colName)
}
return proj, nil
}
@@ -560,19 +572,20 @@ func (r *Route) AddColumn(ctx *plancontext.PlanningContext, expr *sqlparser.Alia
// if column is not already present, we check if we can easily find a projection
// or aggregation in our source that we can add to
- if ok, offset := addColumnToInput(r.Source, expr, addToGroupBy); ok {
+ derived, ok, offset := addColumnToInput(r.Source, expr, addToGroupBy)
+ if ok {
return r, offset, nil
}
// If no-one could be found, we probably don't have one yet, so we add one here
- src, err := createProjection(r.Source)
+ src, err := createProjection(ctx, r.Source, derived)
if err != nil {
return nil, 0, err
}
r.Source = src
// And since we are under the route, we don't need to continue pushing anything further down
- offset := src.addColumnWithoutPushing(expr, false)
+ offset = src.addColumnWithoutPushing(expr, false)
if err != nil {
return nil, 0, err
}
@@ -582,9 +595,14 @@ func (r *Route) AddColumn(ctx *plancontext.PlanningContext, expr *sqlparser.Alia
type selectExpressions interface {
addColumnWithoutPushing(expr *sqlparser.AliasedExpr, addToGroupBy bool) int
isDerived() bool
+ derivedName() string
}
-func addColumnToInput(operator ops.Operator, expr *sqlparser.AliasedExpr, addToGroupBy bool) (bool, int) {
+func addColumnToInput(operator ops.Operator, expr *sqlparser.AliasedExpr, addToGroupBy bool) (
+ derivedName string, // if we found a derived table, this will contain its name
+ found bool, // whether a matching op was found or not
+ offset int, // the offsets the expressions received
+) {
switch op := operator.(type) {
case *CorrelatedSubQueryOp:
return addColumnToInput(op.Outer, expr, addToGroupBy)
@@ -592,16 +610,19 @@ func addColumnToInput(operator ops.Operator, expr *sqlparser.AliasedExpr, addToG
return addColumnToInput(op.Source, expr, addToGroupBy)
case *Ordering:
return addColumnToInput(op.Source, expr, addToGroupBy)
+ case *Derived:
+ // Get the alias for the derived table. We should use this for creating the projection.
+ return op.Alias, false, 0
case selectExpressions:
if op.isDerived() {
// if the only thing we can push to is a derived table,
// we have to add a new projection and can't build on this one
- return false, 0
+ return op.derivedName(), false, 0
}
offset := op.addColumnWithoutPushing(expr, addToGroupBy)
- return true, offset
+ return "", true, offset
default:
- return false, 0
+ return "", false, 0
}
}
diff --git a/go/vt/vtgate/planbuilder/testdata/from_cases.json b/go/vt/vtgate/planbuilder/testdata/from_cases.json
index cb233af88b8..e175dd070d1 100644
--- a/go/vt/vtgate/planbuilder/testdata/from_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/from_cases.json
@@ -790,6 +790,60 @@
]
}
},
+ {
+ "comment": "DISTINCT inside derived table",
+ "query": "select * from (select distinct name from user) as t",
+ "v3-plan": {
+ "QueryType": "SELECT",
+ "Original": "select * from (select distinct name from user) as t",
+ "Instructions": {
+ "OperatorType": "SimpleProjection",
+ "Columns": [
+ 0
+ ],
+ "Inputs": [
+ {
+ "OperatorType": "Aggregate",
+ "Variant": "Ordered",
+ "GroupBy": "0",
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select `name`, weight_string(`name`) from `user` where 1 != 1",
+ "OrderBy": "(0|1) ASC",
+ "Query": "select distinct `name`, weight_string(`name`) from `user` order by `name` asc",
+ "ResultColumns": 1,
+ "Table": "`user`"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "gen4-plan": {
+ "QueryType": "SELECT",
+ "Original": "select * from (select distinct name from user) as t",
+ "Instructions": {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select t.`name` from (select `name` from `user` where 1 != 1) as t where 1 != 1",
+ "Query": "select t.`name` from (select distinct `name` from `user`) as t",
+ "Table": "`user`"
+ },
+ "TablesUsed": [
+ "user.user"
+ ]
+ }
+ },
{
"comment": "',' join unsharded",
"query": "select u1.a, u2.a from unsharded u1, unsharded u2",
@@ -6374,44 +6428,7 @@
{
"comment": "join predicate only depending on the RHS should not turn outer join into inner join",
"query": "select t1.id1, t2.id1 from t1 left join t1 as t2 on t2.id1 = t2.id2",
- "v3-plan": {
- "QueryType": "SELECT",
- "Original": "select t1.id1, t2.id1 from t1 left join t1 as t2 on t2.id1 = t2.id2",
- "Instructions": {
- "OperatorType": "Join",
- "Variant": "LeftJoin",
- "JoinColumnIndexes": "L:0,R:0",
- "TableName": "t1_t1",
- "Inputs": [
- {
- "OperatorType": "Route",
- "Variant": "Scatter",
- "Keyspace": {
- "Name": "zlookup_unique",
- "Sharded": true
- },
- "FieldQuery": "select t1.id1 from t1 where 1 != 1",
- "Query": "select t1.id1 from t1",
- "Table": "t1"
- },
- {
- "OperatorType": "Route",
- "Variant": "Scatter",
- "Keyspace": {
- "Name": "zlookup_unique",
- "Sharded": true
- },
- "FieldQuery": "select t2.id1 from t1 as t2 where 1 != 1",
- "Query": "select t2.id1 from t1 as t2 where t2.id1 = t2.id2",
- "Table": "t1"
- }
- ]
- },
- "TablesUsed": [
- "zlookup_unique.t1"
- ]
- },
- "gen4-plan": {
+ "plan": {
"QueryType": "SELECT",
"Original": "select t1.id1, t2.id1 from t1 left join t1 as t2 on t2.id1 = t2.id2",
"Instructions": {
diff --git a/go/vt/vtgate/planbuilder/testdata/reference_cases.json b/go/vt/vtgate/planbuilder/testdata/reference_cases.json
index ac5338ecd3a..1a3cdf91b91 100644
--- a/go/vt/vtgate/planbuilder/testdata/reference_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/reference_cases.json
@@ -331,6 +331,65 @@
]
}
},
+ {
+ "comment": "Reference tables using left join with a derived table having a limit clause",
+ "query": "SELECT u.id FROM ( SELECT a.id, a.u_id FROM user.ref_with_source AS a WHERE a.id IN (3) ORDER BY a.d_at LIMIT 1) as u LEFT JOIN user.ref_with_source AS u0 ON u.u_id = u0.u_uid ORDER BY u.id",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "SELECT u.id FROM ( SELECT a.id, a.u_id FROM user.ref_with_source AS a WHERE a.id IN (3) ORDER BY a.d_at LIMIT 1) as u LEFT JOIN user.ref_with_source AS u0 ON u.u_id = u0.u_uid ORDER BY u.id",
+ "Instructions": {
+ "OperatorType": "SimpleProjection",
+ "Columns": [
+ 0
+ ],
+ "Inputs": [
+ {
+ "OperatorType": "Sort",
+ "Variant": "Memory",
+ "OrderBy": "(0|1) ASC",
+ "Inputs": [
+ {
+ "OperatorType": "Join",
+ "Variant": "LeftJoin",
+ "JoinColumnIndexes": "L:2,L:3",
+ "JoinVars": {
+ "u_u_id": 4
+ },
+ "TableName": "ref_with_source_ref_with_source",
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Reference",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select u.id, u.u_id, u.id, weight_string(u.id), u.u_id from (select a.id, a.u_id from ref_with_source as a where 1 != 1) as u where 1 != 1",
+ "Query": "select u.id, u.u_id, u.id, weight_string(u.id), u.u_id from (select a.id, a.u_id from ref_with_source as a where a.id in (3) order by a.d_at asc limit 1) as u",
+ "Table": "ref_with_source"
+ },
+ {
+ "OperatorType": "Route",
+ "Variant": "Reference",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select 1 from ref_with_source as u0 where 1 != 1",
+ "Query": "select 1 from ref_with_source as u0 where u0.u_uid = :u_u_id",
+ "Table": "ref_with_source"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "TablesUsed": [
+ "user.ref_with_source"
+ ]
+ }
+ },
{
"comment": "insert into qualified ambiguous reference table routes v3 to requested keyspace gen4 to source",
"query": "insert into user.ambiguous_ref_with_source(col) values(1)",
diff --git a/go/vt/vtgate/vstream_manager.go b/go/vt/vtgate/vstream_manager.go
index 154f23f3941..b7b5318c149 100644
--- a/go/vt/vtgate/vstream_manager.go
+++ b/go/vt/vtgate/vstream_manager.go
@@ -25,22 +25,22 @@ import (
"sync"
"time"
+ "google.golang.org/protobuf/proto"
+
"vitess.io/vitess/go/stats"
"vitess.io/vitess/go/vt/discovery"
- querypb "vitess.io/vitess/go/vt/proto/query"
+ "vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/servenv"
+ "vitess.io/vitess/go/vt/srvtopo"
"vitess.io/vitess/go/vt/topo"
+ "vitess.io/vitess/go/vt/topo/topoproto"
+ "vitess.io/vitess/go/vt/vterrors"
- vtgatepb "vitess.io/vitess/go/vt/proto/vtgate"
-
- "google.golang.org/protobuf/proto"
-
- "vitess.io/vitess/go/vt/log"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
+ querypb "vitess.io/vitess/go/vt/proto/query"
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
+ vtgatepb "vitess.io/vitess/go/vt/proto/vtgate"
vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
- "vitess.io/vitess/go/vt/srvtopo"
- "vitess.io/vitess/go/vt/vterrors"
)
// vstreamManager manages vstream requests.
@@ -521,18 +521,23 @@ func (vs *vstream) streamFromTablet(ctx context.Context, sgtid *binlogdatapb.Sha
go func() {
_ = tabletConn.StreamHealth(ctx, func(shr *querypb.StreamHealthResponse) error {
var err error
- if ctx.Err() != nil {
+ switch {
+ case ctx.Err() != nil:
err = fmt.Errorf("context has ended")
- } else if shr == nil || shr.RealtimeStats == nil || shr.Target == nil {
- err = fmt.Errorf("health check failed")
- } else if vs.tabletType != shr.Target.TabletType {
- err = fmt.Errorf("tablet type has changed from %s to %s, restarting vstream",
- vs.tabletType, shr.Target.TabletType)
- } else if shr.RealtimeStats.HealthError != "" {
+ case shr == nil || shr.RealtimeStats == nil || shr.Target == nil:
+ err = fmt.Errorf("health check failed on %s", topoproto.TabletAliasString(tablet.Alias))
+ case vs.tabletType != shr.Target.TabletType:
+ err = fmt.Errorf("tablet %s type has changed from %s to %s, restarting vstream",
+ topoproto.TabletAliasString(tablet.Alias), vs.tabletType, shr.Target.TabletType)
+ case shr.RealtimeStats.HealthError != "":
err = fmt.Errorf("tablet %s is no longer healthy: %s, restarting vstream",
- tablet.Alias, shr.RealtimeStats.HealthError)
+ topoproto.TabletAliasString(tablet.Alias), shr.RealtimeStats.HealthError)
+ case shr.RealtimeStats.ReplicationLagSeconds > uint32(discovery.GetLowReplicationLag().Seconds()):
+ err = fmt.Errorf("tablet %s has a replication lag of %d seconds which is beyond the value provided in --discovery_low_replication_lag of %s so the tablet is no longer considered healthy, restarting vstream",
+ topoproto.TabletAliasString(tablet.Alias), shr.RealtimeStats.ReplicationLagSeconds, discovery.GetLowReplicationLag())
}
if err != nil {
+ log.Warningf("Tablet state changed: %s, attempting to restart", err)
errCh <- err
return err
}
@@ -563,7 +568,6 @@ func (vs *vstream) streamFromTablet(ctx context.Context, sgtid *binlogdatapb.Sha
case <-ctx.Done():
return ctx.Err()
case streamErr := <-errCh:
- log.Warningf("Tablet state changed: %s, attempting to restart", streamErr)
return vterrors.New(vtrpcpb.Code_UNAVAILABLE, streamErr.Error())
case <-journalDone:
// Unreachable.
diff --git a/go/vt/vtgate/vstream_manager_test.go b/go/vt/vtgate/vstream_manager_test.go
index 926af63e9ac..259bf862910 100644
--- a/go/vt/vtgate/vstream_manager_test.go
+++ b/go/vt/vtgate/vstream_manager_test.go
@@ -25,24 +25,26 @@ import (
"testing"
"time"
- "vitess.io/vitess/go/vt/topo"
-
- vtgatepb "vitess.io/vitess/go/vt/proto/vtgate"
- vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
- "vitess.io/vitess/go/vt/vterrors"
-
- "vitess.io/vitess/go/stats"
- "vitess.io/vitess/go/vt/vttablet/sandboxconn"
-
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"google.golang.org/protobuf/proto"
+ "vitess.io/vitess/go/stats"
"vitess.io/vitess/go/vt/discovery"
+ "vitess.io/vitess/go/vt/log"
+ "vitess.io/vitess/go/vt/logutil"
"vitess.io/vitess/go/vt/proto/binlogdata"
+ "vitess.io/vitess/go/vt/srvtopo"
+ "vitess.io/vitess/go/vt/topo"
+ "vitess.io/vitess/go/vt/topo/topoproto"
+ "vitess.io/vitess/go/vt/vterrors"
+ "vitess.io/vitess/go/vt/vttablet/sandboxconn"
+
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
+ querypb "vitess.io/vitess/go/vt/proto/query"
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
- "vitess.io/vitess/go/vt/srvtopo"
+ vtgatepb "vitess.io/vitess/go/vt/proto/vtgate"
+ vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
)
var mu sync.Mutex
@@ -1187,6 +1189,124 @@ func TestVStreamIdleHeartbeat(t *testing.T) {
}
}
+// TestVStreamManagerHealthCheckResponseHandling tests the handling of healthcheck responses by
+// the vstream manager to confirm that we are correctly restarting the vstream when we should.
+func TestVStreamManagerHealthCheckResponseHandling(t *testing.T) {
+ // Capture the vstream warning log. Otherwise we need to re-implement the vstream error
+ // handling in SandboxConn's implementation and then we're not actually testing the
+ // production code.
+ logger := logutil.NewMemoryLogger()
+ log.Warningf = logger.Warningf
+
+ cell := "aa"
+ ks := "TestVStream"
+ shard := "0"
+ tabletType := topodatapb.TabletType_REPLICA
+ _ = createSandbox(ks)
+ hc := discovery.NewFakeHealthCheck(nil)
+ st := getSandboxTopo(ctx, cell, ks, []string{shard})
+ vsm := newTestVStreamManager(hc, st, cell)
+ vgtid := &binlogdatapb.VGtid{
+ ShardGtids: []*binlogdatapb.ShardGtid{{
+ Keyspace: ks,
+ Shard: shard,
+ }},
+ }
+ source := hc.AddTestTablet(cell, "1.1.1.1", 1001, ks, shard, tabletType, true, 0, nil)
+ tabletAlias := topoproto.TabletAliasString(source.Tablet().Alias)
+ addTabletToSandboxTopo(t, st, ks, shard, source.Tablet())
+ target := &querypb.Target{
+ Cell: cell,
+ Keyspace: ks,
+ Shard: shard,
+ TabletType: tabletType,
+ }
+ highLag := uint32(discovery.GetLowReplicationLag().Seconds()) + 1
+
+ type testcase struct {
+ name string
+ hcRes *querypb.StreamHealthResponse
+ wantErr string
+ }
+ testcases := []testcase{
+ {
+ name: "all healthy", // Will hit the context timeout
+ },
+ {
+ name: "failure",
+ hcRes: &querypb.StreamHealthResponse{
+ TabletAlias: source.Tablet().Alias,
+ Target: nil, // This is seen as a healthcheck stream failure
+ },
+ wantErr: fmt.Sprintf("health check failed on %s", tabletAlias),
+ },
+ {
+ name: "tablet type changed",
+ hcRes: &querypb.StreamHealthResponse{
+ TabletAlias: source.Tablet().Alias,
+ Target: &querypb.Target{
+ Cell: cell,
+ Keyspace: ks,
+ Shard: shard,
+ TabletType: topodatapb.TabletType_PRIMARY,
+ },
+ RealtimeStats: &querypb.RealtimeStats{},
+ },
+ wantErr: fmt.Sprintf("tablet %s type has changed from %s to %s",
+ tabletAlias, tabletType, topodatapb.TabletType_PRIMARY.String()),
+ },
+ {
+ name: "unhealthy",
+ hcRes: &querypb.StreamHealthResponse{
+ TabletAlias: source.Tablet().Alias,
+ Target: target,
+ RealtimeStats: &querypb.RealtimeStats{
+ HealthError: "unhealthy",
+ },
+ },
+ wantErr: fmt.Sprintf("tablet %s is no longer healthy", tabletAlias),
+ },
+ {
+ name: "replication lag too high",
+ hcRes: &querypb.StreamHealthResponse{
+ TabletAlias: source.Tablet().Alias,
+ Target: target,
+ RealtimeStats: &querypb.RealtimeStats{
+ ReplicationLagSeconds: highLag,
+ },
+ },
+ wantErr: fmt.Sprintf("%s has a replication lag of %d seconds which is beyond the value provided",
+ tabletAlias, highLag),
+ },
+ }
+
+ for _, tc := range testcases {
+ t.Run(tc.name, func(t *testing.T) {
+ done := make(chan struct{})
+ go func() {
+ sctx, cancel := context.WithTimeout(ctx, 5*time.Second)
+ defer cancel()
+ defer close(done)
+ // SandboxConn's VStream implementation always waits for the context to timeout.
+ err := vsm.VStream(sctx, tabletType, vgtid, nil, nil, func(events []*binlogdatapb.VEvent) error {
+ require.Fail(t, "unexpected event", "Received unexpected events: %v", events)
+ return nil
+ })
+ if tc.wantErr != "" { // Otherwise we simply expect the context to timeout
+ if !strings.Contains(logger.String(), tc.wantErr) {
+ require.Fail(t, "unexpected vstream error", "vstream ended with error: %v, which did not contain: %s", err, tc.wantErr)
+ }
+ }
+ }()
+ if tc.wantErr != "" {
+ source.SetStreamHealthResponse(tc.hcRes)
+ }
+ <-done
+ logger.Clear()
+ })
+ }
+}
+
func newTestVStreamManager(hc discovery.HealthCheck, serv srvtopo.Server, cell string) *vstreamManager {
gw := NewTabletGateway(context.Background(), hc, serv, cell)
srvResolver := srvtopo.NewResolver(serv, gw, cell)
diff --git a/go/vt/vttablet/endtoend/misc_test.go b/go/vt/vttablet/endtoend/misc_test.go
index 45eaf93289d..c8eb04fb920 100644
--- a/go/vt/vttablet/endtoend/misc_test.go
+++ b/go/vt/vttablet/endtoend/misc_test.go
@@ -42,6 +42,7 @@ import (
querypb "vitess.io/vitess/go/vt/proto/query"
vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
"vitess.io/vitess/go/vt/sqlparser"
+ "vitess.io/vitess/go/vt/vtgate/evalengine"
"vitess.io/vitess/go/vt/vttablet/endtoend/framework"
)
@@ -971,26 +972,89 @@ func TestShowTablesWithSizes(t *testing.T) {
_, err := conn.ExecuteFetch(query, 1, false)
require.NoError(t, err)
}
- expectTables := map[string]([]string){ // TABLE_TYPE, TABLE_COMMENT
- "show_tables_with_sizes_t1": {"BASE TABLE", ""},
- "show_tables_with_sizes_v1": {"VIEW", "VIEW"},
- "show_tables_with_sizes_employees": {"BASE TABLE", ""},
+
+ expectedTables := []string{
+ "show_tables_with_sizes_t1",
+ "show_tables_with_sizes_v1",
+ "show_tables_with_sizes_employees",
}
+ actualTables := []string{}
rs, err := conn.ExecuteFetch(conn.BaseShowTablesWithSizes(), math.MaxInt, false)
require.NoError(t, err)
require.NotEmpty(t, rs.Rows)
- assert.GreaterOrEqual(t, len(rs.Rows), len(expectTables))
- matchedTables := map[string]bool{}
+ assert.GreaterOrEqual(t, len(rs.Rows), len(expectedTables))
+
for _, row := range rs.Rows {
+ assert.Equal(t, 6, len(row))
+
tableName := row[0].ToString()
- vals, ok := expectTables[tableName]
- if ok {
- assert.Equal(t, vals[0], row[1].ToString()) // TABLE_TYPE
- assert.Equal(t, vals[1], row[3].ToString()) // TABLE_COMMENT
- matchedTables[tableName] = true
+ if tableName == "show_tables_with_sizes_t1" {
+ // TABLE_TYPE
+ assert.Equal(t, "BASE TABLE", row[1].ToString())
+
+ assert.True(t, row[2].IsIntegral())
+ createTime, err := evalengine.ToInt64(row[2])
+ assert.NoError(t, err)
+ assert.Greater(t, createTime, int64(0))
+
+ // TABLE_COMMENT
+ assert.Equal(t, "", row[3].ToString())
+
+ assert.True(t, row[4].IsDecimal())
+ fileSize, err := evalengine.ToInt64(row[4])
+ assert.NoError(t, err)
+ assert.Greater(t, fileSize, int64(0))
+
+ assert.True(t, row[4].IsDecimal())
+ allocatedSize, err := evalengine.ToInt64(row[5])
+ assert.NoError(t, err)
+ assert.Greater(t, allocatedSize, int64(0))
+
+ actualTables = append(actualTables, tableName)
+ } else if tableName == "show_tables_with_sizes_v1" {
+ // TABLE_TYPE
+ assert.Equal(t, "VIEW", row[1].ToString())
+
+ assert.True(t, row[2].IsIntegral())
+ createTime, err := evalengine.ToInt64(row[2])
+ assert.NoError(t, err)
+ assert.Greater(t, createTime, int64(0))
+
+ // TABLE_COMMENT
+ assert.Equal(t, "VIEW", row[3].ToString())
+
+ assert.True(t, row[4].IsNull())
+ assert.True(t, row[5].IsNull())
+
+ actualTables = append(actualTables, tableName)
+ } else if tableName == "show_tables_with_sizes_employees" {
+ // TABLE_TYPE
+ assert.Equal(t, "BASE TABLE", row[1].ToString())
+
+ assert.True(t, row[2].IsIntegral())
+ createTime, err := evalengine.ToInt64(row[2])
+ assert.NoError(t, err)
+ assert.Greater(t, createTime, int64(0))
+
+ // TABLE_COMMENT
+ assert.Equal(t, "", row[3].ToString())
+
+ assert.True(t, row[4].IsDecimal())
+ fileSize, err := evalengine.ToInt64(row[4])
+ assert.NoError(t, err)
+ assert.Greater(t, fileSize, int64(0))
+
+ assert.True(t, row[5].IsDecimal())
+ allocatedSize, err := evalengine.ToInt64(row[5])
+ assert.NoError(t, err)
+ assert.Greater(t, allocatedSize, int64(0))
+
+ actualTables = append(actualTables, tableName)
}
}
- assert.Equalf(t, len(expectTables), len(matchedTables), "%v", matchedTables)
+
+ assert.Equal(t, len(expectedTables), len(actualTables))
+ assert.ElementsMatch(t, expectedTables, actualTables)
}
diff --git a/go/vt/vttablet/sandboxconn/sandboxconn.go b/go/vt/vttablet/sandboxconn/sandboxconn.go
index 5f7a593cbb5..d4108d66b08 100644
--- a/go/vt/vttablet/sandboxconn/sandboxconn.go
+++ b/go/vt/vttablet/sandboxconn/sandboxconn.go
@@ -123,6 +123,8 @@ type SandboxConn struct {
NotServing bool
getSchemaResult []map[string]string
+
+ streamHealthResponse *querypb.StreamHealthResponse
}
var _ queryservice.QueryService = (*SandboxConn)(nil) // compile-time interface check
@@ -415,9 +417,22 @@ func (sbc *SandboxConn) MessageAck(ctx context.Context, target *querypb.Target,
// SandboxSQRowCount is the default number of fake splits returned.
var SandboxSQRowCount = int64(10)
-// StreamHealth is not implemented.
+// SetStreamHealthResponse sets the StreamHealthResponse to be returned in StreamHealth.
+func (sbc *SandboxConn) SetStreamHealthResponse(res *querypb.StreamHealthResponse) {
+ sbc.mapMu.Lock()
+ defer sbc.mapMu.Unlock()
+ sbc.streamHealthResponse = res
+}
+
+// StreamHealth always mocks a "healthy" result by default. If you want to override this behavior you
+// can call SetStreamHealthResponse.
func (sbc *SandboxConn) StreamHealth(ctx context.Context, callback func(*querypb.StreamHealthResponse) error) error {
- return fmt.Errorf("not implemented in test")
+ sbc.mapMu.Lock()
+ defer sbc.mapMu.Unlock()
+ if sbc.streamHealthResponse != nil {
+ return callback(sbc.streamHealthResponse)
+ }
+ return nil
}
// ExpectVStreamStartPos makes the conn verify that that the next vstream request has the right startPos.
diff --git a/go/vt/vttablet/tabletserver/txthrottler/mock_throttler_test.go b/go/vt/vttablet/tabletserver/txthrottler/mock_throttler_test.go
index 3ffb3a78a1a..aeb75d258a3 100644
--- a/go/vt/vttablet/tabletserver/txthrottler/mock_throttler_test.go
+++ b/go/vt/vttablet/tabletserver/txthrottler/mock_throttler_test.go
@@ -12,6 +12,7 @@ import (
discovery "vitess.io/vitess/go/vt/discovery"
throttlerdata "vitess.io/vitess/go/vt/proto/throttlerdata"
+ topodata "vitess.io/vitess/go/vt/proto/topodata"
)
// MockThrottlerInterface is a mock of ThrottlerInterface interface.
@@ -63,6 +64,20 @@ func (mr *MockThrottlerInterfaceMockRecorder) GetConfiguration() *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetConfiguration", reflect.TypeOf((*MockThrottlerInterface)(nil).GetConfiguration))
}
+// MaxLag mocks base method.
+func (m *MockThrottlerInterface) MaxLag(tabletType topodata.TabletType) uint32 {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "MaxLag", tabletType)
+ ret0, _ := ret[0].(uint32)
+ return ret0
+}
+
+// MaxLag indicates an expected call of LastMaxLagNotIgnoredForTabletType.
+func (mr *MockThrottlerInterfaceMockRecorder) MaxLag(tabletType interface{}) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MaxLag", reflect.TypeOf((*MockThrottlerInterface)(nil).MaxLag), tabletType)
+}
+
// MaxRate mocks base method.
func (m *MockThrottlerInterface) MaxRate() int64 {
m.ctrl.T.Helper()
diff --git a/go/vt/vttablet/tabletserver/txthrottler/tx_throttler.go b/go/vt/vttablet/tabletserver/txthrottler/tx_throttler.go
index bc5235593ac..82cb074b3d7 100644
--- a/go/vt/vttablet/tabletserver/txthrottler/tx_throttler.go
+++ b/go/vt/vttablet/tabletserver/txthrottler/tx_throttler.go
@@ -22,8 +22,11 @@ import (
"math/rand"
"strings"
"sync"
+ "sync/atomic"
"time"
+ topodatapb "vitess.io/vitess/go/vt/proto/topodata"
+
"google.golang.org/protobuf/encoding/prototext"
"google.golang.org/protobuf/proto"
@@ -89,6 +92,7 @@ type ThrottlerInterface interface {
GetConfiguration() *throttlerdatapb.Configuration
UpdateConfiguration(configuration *throttlerdatapb.Configuration, copyZeroValues bool) error
ResetConfiguration()
+ MaxLag(tabletType topodatapb.TabletType) uint32
}
// TopologyWatcherInterface defines the public interface that is implemented by
@@ -178,6 +182,10 @@ type txThrottlerState struct {
healthCheck discovery.HealthCheck
topologyWatchers []TopologyWatcherInterface
+
+ maxLag int64
+ done chan bool
+ waitForTermination sync.WaitGroup
}
// NewTxThrottler tries to construct a txThrottler from the
@@ -290,7 +298,7 @@ func (t *txThrottler) Throttle(priority int) (result bool) {
// Throttle according to both what the throttler state says and the priority. Workloads with lower priority value
// are less likely to be throttled.
- result = t.state.throttle() && rand.Intn(sqlparser.MaxPriorityValue) < priority
+ result = rand.Intn(sqlparser.MaxPriorityValue) < priority && t.state.throttle()
t.requestsTotal.Add(1)
if result {
@@ -320,6 +328,7 @@ func newTxThrottlerState(topoServer *topo.Server, config *txThrottlerConfig, tar
result := &txThrottlerState{
config: config,
throttler: t,
+ done: make(chan bool, 2),
}
createTxThrottlerHealthCheck(topoServer, config, result, target.Cell)
@@ -353,6 +362,8 @@ func createTxThrottlerHealthCheck(topoServer *topo.Server, config *txThrottlerCo
case th := <-ch:
result.StatsUpdate(th)
}
+ result.waitForTermination.Add(1)
+ go result.updateMaxLag()
}
}(ctx)
}
@@ -365,7 +376,35 @@ func (ts *txThrottlerState) throttle() bool {
// Serialize calls to ts.throttle.Throttle()
ts.throttleMu.Lock()
defer ts.throttleMu.Unlock()
- return ts.throttler.Throttle(0 /* threadId */) > 0
+
+ maxLag := atomic.LoadInt64(&ts.maxLag)
+
+ return maxLag > ts.config.throttlerConfig.TargetReplicationLagSec &&
+ ts.throttler.Throttle(0 /* threadId */) > 0
+}
+
+func (ts *txThrottlerState) updateMaxLag() {
+ defer ts.waitForTermination.Done()
+ // We use half of the target lag to ensure we have enough resolution to see changes in lag below that value
+ ticker := time.NewTicker(time.Duration(ts.config.throttlerConfig.TargetReplicationLagSec/2) * time.Second)
+ defer ticker.Stop()
+outerloop:
+ for {
+ select {
+ case <-ticker.C:
+ var maxLag uint32
+
+ for _, tabletType := range *ts.config.tabletTypes {
+ maxLagPerTabletType := ts.throttler.MaxLag(tabletType)
+ if maxLagPerTabletType > maxLag {
+ maxLag = maxLagPerTabletType
+ }
+ }
+ atomic.StoreInt64(&ts.maxLag, int64(maxLag))
+ case <-ts.done:
+ break outerloop
+ }
+ }
}
func (ts *txThrottlerState) deallocateResources() {
@@ -380,6 +419,8 @@ func (ts *txThrottlerState) deallocateResources() {
ts.healthCheck.Close()
ts.healthCheck = nil
+ ts.done <- true
+ ts.waitForTermination.Wait()
// After ts.healthCheck is closed txThrottlerState.StatsUpdate() is guaranteed not
// to be executing, so we can safely close the throttler.
ts.throttler.Close()
diff --git a/go/vt/vttablet/tabletserver/txthrottler/tx_throttler_test.go b/go/vt/vttablet/tabletserver/txthrottler/tx_throttler_test.go
index 4e95ebe7097..6d42869befa 100644
--- a/go/vt/vttablet/tabletserver/txthrottler/tx_throttler_test.go
+++ b/go/vt/vttablet/tabletserver/txthrottler/tx_throttler_test.go
@@ -22,6 +22,7 @@ package txthrottler
//go:generate mockgen -destination mock_topology_watcher_test.go -package txthrottler vitess.io/vitess/go/vt/vttablet/tabletserver/txthrottler TopologyWatcherInterface
import (
+ "sync/atomic"
"testing"
"time"
@@ -88,27 +89,44 @@ func TestEnabledThrottler(t *testing.T) {
return mockThrottler, nil
}
- call0 := mockThrottler.EXPECT().UpdateConfiguration(gomock.Any(), true /* copyZeroValues */)
- call1 := mockThrottler.EXPECT().Throttle(0)
- call1.Return(0 * time.Second)
+ var calls []*gomock.Call
+
+ call := mockThrottler.EXPECT().UpdateConfiguration(gomock.Any(), true /* copyZeroValues */)
+ calls = append(calls, call)
+
+ // 1
+ call = mockThrottler.EXPECT().Throttle(0)
+ call.Return(0 * time.Second)
+ calls = append(calls, call)
+
tabletStats := &discovery.TabletHealth{
Target: &querypb.Target{
TabletType: topodatapb.TabletType_REPLICA,
},
}
- call2 := mockThrottler.EXPECT().RecordReplicationLag(gomock.Any(), tabletStats)
- call3 := mockThrottler.EXPECT().Throttle(0)
- call3.Return(1 * time.Second)
- call4 := mockThrottler.EXPECT().Throttle(0)
- call4.Return(1 * time.Second)
- calllast := mockThrottler.EXPECT().Close()
+ call = mockThrottler.EXPECT().RecordReplicationLag(gomock.Any(), tabletStats)
+ calls = append(calls, call)
+
+ // 2
+ call = mockThrottler.EXPECT().Throttle(0)
+ call.Return(1 * time.Second)
+ calls = append(calls, call)
+
+ // 3
+ // Nothing gets mocked here because the order of evaluation in txThrottler.Throttle() evaluates first
+ // whether the priority allows for throttling or not, so no need to mock calls in mockThrottler.Throttle()
- call1.After(call0)
- call2.After(call1)
- call3.After(call2)
- call4.After(call3)
- calllast.After(call4)
+ // 4
+ // Nothing gets mocked here because the order of evaluation in txThrottlerStateImpl.Throttle() evaluates first
+ // whether there is lag or not, so no call to the underlying mockThrottler is issued.
+
+ call = mockThrottler.EXPECT().Close()
+ calls = append(calls, call)
+
+ for i := 1; i < len(calls); i++ {
+ calls[i].After(calls[i-1])
+ }
config := tabletenv.NewDefaultConfig()
config.EnableTxThrottler = true
@@ -116,38 +134,52 @@ func TestEnabledThrottler(t *testing.T) {
config.TxThrottlerTabletTypes = &topoproto.TabletTypeListFlag{topodatapb.TabletType_REPLICA}
env := tabletenv.NewEnv(config, t.Name())
- throttler, err := tryCreateTxThrottler(env, ts)
+ throttlerImpl, err := tryCreateTxThrottler(env, ts)
assert.Nil(t, err)
- throttler.InitDBConfig(&querypb.Target{
+ throttlerImpl.InitDBConfig(&querypb.Target{
Keyspace: "keyspace",
Shard: "shard",
})
- assert.Nil(t, throttler.Open())
- assert.Equal(t, int64(1), throttler.throttlerRunning.Get())
+ assert.Nil(t, throttlerImpl.Open())
+ assert.Equal(t, int64(1), throttlerImpl.throttlerRunning.Get())
+
+ // Stop the go routine that keeps updating the cached shard's max lag to prevent it from changing the value in a
+ // way that will interfere with how we manipulate that value in our tests to evaluate different cases:
+ throttlerImpl.state.done <- true
- assert.False(t, throttler.Throttle(100))
- assert.Equal(t, int64(1), throttler.requestsTotal.Get())
- assert.Zero(t, throttler.requestsThrottled.Get())
+ // 1 should not throttle due to return value of underlying Throttle(), despite high lag
+ atomic.StoreInt64(&throttlerImpl.state.maxLag, 20)
+ assert.False(t, throttlerImpl.Throttle(100))
+ assert.Equal(t, int64(1), throttlerImpl.requestsTotal.Get())
+ assert.Zero(t, throttlerImpl.requestsThrottled.Get())
- throttler.state.StatsUpdate(tabletStats) // This calls replication lag thing
+ throttlerImpl.state.StatsUpdate(tabletStats) // This calls replication lag thing
rdonlyTabletStats := &discovery.TabletHealth{
Target: &querypb.Target{
TabletType: topodatapb.TabletType_RDONLY,
},
}
// This call should not be forwarded to the go/vt/throttler.Throttler object.
- throttler.state.StatsUpdate(rdonlyTabletStats)
- // The second throttle call should reject.
- assert.True(t, throttler.Throttle(100))
- assert.Equal(t, int64(2), throttler.requestsTotal.Get())
- assert.Equal(t, int64(1), throttler.requestsThrottled.Get())
+ throttlerImpl.state.StatsUpdate(rdonlyTabletStats)
- // This call should not throttle due to priority. Check that's the case and counters agree.
- assert.False(t, throttler.Throttle(0))
- assert.Equal(t, int64(3), throttler.requestsTotal.Get())
- assert.Equal(t, int64(1), throttler.requestsThrottled.Get())
- throttler.Close()
- assert.Zero(t, throttler.throttlerRunning.Get())
+ // 2 should throttle due to return value of underlying Throttle(), high lag & priority = 100
+ assert.True(t, throttlerImpl.Throttle(100))
+ assert.Equal(t, int64(2), throttlerImpl.requestsTotal.Get())
+ assert.Equal(t, int64(1), throttlerImpl.requestsThrottled.Get())
+
+ // 3 should not throttle despite return value of underlying Throttle() and high lag, due to priority = 0
+ assert.False(t, throttlerImpl.Throttle(0))
+ assert.Equal(t, int64(3), throttlerImpl.requestsTotal.Get())
+ assert.Equal(t, int64(1), throttlerImpl.requestsThrottled.Get())
+
+ // 4 should not throttle despite return value of underlying Throttle() and priority = 100, due to low lag
+ atomic.StoreInt64(&throttlerImpl.state.maxLag, 1)
+ assert.False(t, throttlerImpl.Throttle(100))
+ assert.Equal(t, int64(4), throttlerImpl.requestsTotal.Get())
+ assert.Equal(t, int64(1), throttlerImpl.requestsThrottled.Get())
+
+ throttlerImpl.Close()
+ assert.Zero(t, throttlerImpl.throttlerRunning.Get())
}
func TestNewTxThrottler(t *testing.T) {
diff --git a/java/client/pom.xml b/java/client/pom.xml
index d819cf0c32d..393235f4727 100644
--- a/java/client/pom.xml
+++ b/java/client/pom.xml
@@ -5,7 +5,7 @@
io.vitess
vitess-parent
- 17.0.6-SNAPSHOT
+ 17.0.8-SNAPSHOT
vitess-client
diff --git a/java/example/pom.xml b/java/example/pom.xml
index 1e7b59d0f28..96641a615a8 100644
--- a/java/example/pom.xml
+++ b/java/example/pom.xml
@@ -5,7 +5,7 @@
io.vitess
vitess-parent
- 17.0.6-SNAPSHOT
+ 17.0.8-SNAPSHOT
vitess-example
diff --git a/java/grpc-client/pom.xml b/java/grpc-client/pom.xml
index 68219bcba2c..0f7a2a1636a 100644
--- a/java/grpc-client/pom.xml
+++ b/java/grpc-client/pom.xml
@@ -5,7 +5,7 @@
io.vitess
vitess-parent
- 17.0.6-SNAPSHOT
+ 17.0.8-SNAPSHOT
vitess-grpc-client
diff --git a/java/jdbc/pom.xml b/java/jdbc/pom.xml
index 01f9f34262d..6911c4d74ff 100644
--- a/java/jdbc/pom.xml
+++ b/java/jdbc/pom.xml
@@ -5,7 +5,7 @@
io.vitess
vitess-parent
- 17.0.6-SNAPSHOT
+ 17.0.8-SNAPSHOT
vitess-jdbc
diff --git a/java/pom.xml b/java/pom.xml
index afa75d9bc5b..9a07c7e84dc 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -11,7 +11,7 @@
io.vitess
vitess-parent
- 17.0.6-SNAPSHOT
+ 17.0.8-SNAPSHOT
pom
Vitess Java Client libraries [Parent]
diff --git a/misc/git/hooks/golangci-lint b/misc/git/hooks/golangci-lint
index 3ad4775271a..fb2131a3110 100755
--- a/misc/git/hooks/golangci-lint
+++ b/misc/git/hooks/golangci-lint
@@ -16,7 +16,7 @@
GOLANGCI_LINT=$(command -v golangci-lint >/dev/null 2>&1)
if [ $? -eq 1 ]; then
echo "Downloading golangci-lint..."
- go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.2
+ go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.52.2
fi
gofiles=$(git diff --cached --name-only --diff-filter=ACM | grep '^go/.*\.go$')
diff --git a/test.go b/test.go
index 100765d406b..a867a71aa47 100755
--- a/test.go
+++ b/test.go
@@ -77,7 +77,7 @@ For example:
// Flags
var (
flavor = flag.String("flavor", "mysql57", "comma-separated bootstrap flavor(s) to run against (when using Docker mode). Available flavors: all,"+flavors)
- bootstrapVersion = flag.String("bootstrap-version", "18.7", "the version identifier to use for the docker images")
+ bootstrapVersion = flag.String("bootstrap-version", "18.9", "the version identifier to use for the docker images")
runCount = flag.Int("runs", 1, "run each test this many times")
retryMax = flag.Int("retry", 3, "max number of retries, to detect flaky tests")
logPass = flag.Bool("log-pass", false, "log test output even if it passes")
diff --git a/test/config.json b/test/config.json
index a71e9486336..3f51a2d25f2 100644
--- a/test/config.json
+++ b/test/config.json
@@ -1037,7 +1037,7 @@
},
"vreplication_basic": {
"File": "unused.go",
- "Args": ["vitess.io/vitess/go/test/endtoend/vreplication", "-run", "TestBasicVreplicationWorkflow"],
+ "Args": ["vitess.io/vitess/go/test/endtoend/vreplication", "-run", "TestBasicVreplicationWorkflow", "-timeout", "20m"],
"Command": [],
"Manual": false,
"Shard": "vreplication_basic",
diff --git a/test/templates/cluster_endtoend_test.tpl b/test/templates/cluster_endtoend_test.tpl
index c1cd9ceab83..28c22da7c72 100644
--- a/test/templates/cluster_endtoend_test.tpl
+++ b/test/templates/cluster_endtoend_test.tpl
@@ -36,7 +36,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -65,13 +65,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -197,3 +197,4 @@ jobs:
# print test output
cat output.txt
+
diff --git a/test/templates/cluster_endtoend_test_docker.tpl b/test/templates/cluster_endtoend_test_docker.tpl
index 56dc74bc363..a12deb7dd32 100644
--- a/test/templates/cluster_endtoend_test_docker.tpl
+++ b/test/templates/cluster_endtoend_test_docker.tpl
@@ -28,7 +28,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -54,9 +54,9 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -68,3 +68,4 @@ jobs:
timeout-minutes: 30
run: |
go run test.go -docker=true --follow -shard {{.Shard}}
+
diff --git a/test/templates/cluster_endtoend_test_mysql57.tpl b/test/templates/cluster_endtoend_test_mysql57.tpl
index 94a356595e6..3837de1c133 100644
--- a/test/templates/cluster_endtoend_test_mysql57.tpl
+++ b/test/templates/cluster_endtoend_test_mysql57.tpl
@@ -41,7 +41,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -70,13 +70,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -202,3 +202,4 @@ jobs:
# print test output
cat output.txt
+
diff --git a/test/templates/cluster_endtoend_test_self_hosted.tpl b/test/templates/cluster_endtoend_test_self_hosted.tpl
index e851c5a782d..d31978d3f34 100644
--- a/test/templates/cluster_endtoend_test_self_hosted.tpl
+++ b/test/templates/cluster_endtoend_test_self_hosted.tpl
@@ -31,7 +31,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
diff --git a/test/templates/dockerfile.tpl b/test/templates/dockerfile.tpl
index 3c20f883db3..69da85f5a8a 100644
--- a/test/templates/dockerfile.tpl
+++ b/test/templates/dockerfile.tpl
@@ -1,4 +1,4 @@
-ARG bootstrap_version=18.7
+ARG bootstrap_version=18.9
ARG image="vitess/bootstrap:${bootstrap_version}-{{.Platform}}"
FROM "${image}"
diff --git a/test/templates/unit_test.tpl b/test/templates/unit_test.tpl
index eca272904ff..dff1ef9133e 100644
--- a/test/templates/unit_test.tpl
+++ b/test/templates/unit_test.tpl
@@ -36,7 +36,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
@@ -60,13 +60,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: 1.20.13
+ go-version: 1.21.10
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
@@ -167,3 +167,4 @@ jobs:
# print test output
cat output.txt
+
diff --git a/test/templates/unit_test_self_hosted.tpl b/test/templates/unit_test_self_hosted.tpl
index 4b9a240f369..1bb28a07399 100644
--- a/test/templates/unit_test_self_hosted.tpl
+++ b/test/templates/unit_test_self_hosted.tpl
@@ -30,7 +30,7 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'